Sorry, I guess I've not been overly clear.
Code:
DatagramPacket responsePakke = new DatagramPacket(responseData, responseData.length);
ds.connect(<adress>);
ds.setSoTimeout(1000);
ds.send(<serverQuery>);
ds.receive(<serverResponse>);
ds.close()
Which is my basic code.
Now this I can modify to either
Code:
ds.receive(<serverResponse1>);
ds.receive(<serverResponse2>);
ds.receive(<serverResponse...n>);
up to the max amount of packets the server can return or
Code:
ds.receive(<serverResponse>);
StringTokenizer st = new StringTokenizer(<serverResponse>);
if(!st.lastToken().equals("final"){
ds.receive(<serverRespons>);
}
Only problem is that I'm afraid I might loose a UDP packet whilst checking if the packet I have received is the last one (as they are supposed to disappear without a word to either sender or receiver)... So I have to catch them fast enough...
But that last code snippet might very well work (after I've fixed the errors
), I just wrote it out as an example so I don't know how it'll perform. Guess I'll have to do some more research about it 
Thank you for your help Nodsu!