그래서 현재 클라이언트에서 서버로 보내지는 DatagramPacket이 있습니다. 그러나 데이터를 여러 값으로 분리하는 방법을 알고 싶습니다.Java DatagramPacket, 어떻게 분리합니까?
I.E, 두 개의 변수 x와 y를 보내고 싶은 경우 서버 측에서 변수 두 개를 받고 싶습니다. 어떻게하면 좋을까요? 내가 말할 수있을 것입니다 어떻게 클라이언트로부터 바이트 배열로 문자열을 보낸 후 서버 측 즉,
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();
또한 네트워킹 게임의 경우 문자열을 바이트로 보내는 것이 효율적입니까? 또는 각 개별 항목을 자신의 바이트로 변환하고 바이트 배열에 추가하는 것이 더 낫습니까?