Hallo zusammen,
folgendes Problem hatte ich schon öfter. Ich möchte eine Information von Server x zu Client y schicken. Dies soll hier mit UDP passieren. Daher nutze ich DatagramPackets.
Angenommen die Information ist ein int. Dann macht der Server etwa folgendes:
Auf Clientseite steht nun folgendes:
Doch wie definiere ich pac genau? Der Konstruktor von DataGramm möchte ein byte Array und dessen Länge haben. Doch was muss ich machen, wenn ich die Größe der angegebenen Daten nicht genau kenne. Gibt es da einen eleganten weg oder bleibt mir nichts anderes übrig, als in die Nutzdaten diese Informationen mit reinzuschreiben?
Vielen Dank und viele Grüße
folgendes Problem hatte ich schon öfter. Ich möchte eine Information von Server x zu Client y schicken. Dies soll hier mit UDP passieren. Daher nutze ich DatagramPackets.
Angenommen die Information ist ein int. Dann macht der Server etwa folgendes:
Java:
byte[] myIntBytes = fileSizeConverter.putInt(myIntVariable).array();
DatagramPacket packet = new DatagramPacket(myIntBytes, myIntBytes.length, address, port);
socket.send(packet);
Auf Clientseite steht nun folgendes:
Java:
clientSocket.receive(pac);
Doch wie definiere ich pac genau? Der Konstruktor von DataGramm möchte ein byte Array und dessen Länge haben. Doch was muss ich machen, wenn ich die Größe der angegebenen Daten nicht genau kenne. Gibt es da einen eleganten weg oder bleibt mir nichts anderes übrig, als in die Nutzdaten diese Informationen mit reinzuschreiben?
Vielen Dank und viele Grüße