所以我現在有一個DatagramPacket從我的客戶端發送到服務器。 但是我想知道如何將數據分成多個值。我可以說我想發送兩個變量,x和y,然後我想在服務器端將它們作爲兩個變量接收。我將如何做到這一點?Java DatagramPacket,我該如何區分它?
int x = 5;
int y = 10;
//Send data to server using a pipe | as a delimiter
byte[] data = Integer.toString(x) + "|" + Integer.toString(y).getBytes();
DatagramPacket packet = new DatagramPacket(data, data.length, host, port);
...
//Receive data from client
packet = new DatagramPacket(new byte[PACKETSIZE], PACKETSIZE);
//Receive a packet (blocking)
socket.receive(packet);
int x = packetSeparate(packet, "an integer");
int y = packetSeparate(packet, "an integer");
換句話說,在服務器端,我發送的字符串作爲來自客戶端的字節數組後,我會怎麼能夠說: 「整數x是從字節數組的第一個整數稱爲:packet.getData()「。
int x = packet.getData().getAnInteger();
int y = packet.getData().getAnInteger();
另外,對於網絡遊戲來說,發送一個字符串作爲字節會有效嗎? 或者將每個單獨的項目轉換爲自己的字節並將其附加到字節數組會更好嗎?