datagram - Java DatagramPacket, how do I separate it? -


so i've got datagrampacket gets sent client server. i'd know how can separate data multiple values.

i.e, lets want send 2 variables, x , y, , want receive them 2 variables on server-side. how this?

int x = 5; int y = 10;  //send data server using pipe | delimiter byte[] data = integer.tostring(x) + "|" + integer.tostring(y).getbytes(); datagrampacket packet = new datagrampacket(data, data.length, host, port);  ...  //receive data client packet = new datagrampacket(new byte[packetsize], packetsize);  //receive packet (blocking) socket.receive(packet);  int x = packetseparate(packet, "an integer"); int y = packetseparate(packet, "an integer"); 

in other words, on server side after i've sent string byte array client, how able say: "integer x first integer byte array known as: packet.getdata()".

int x = packet.getdata().getaninteger(); int y = packet.getdata().getaninteger(); 

also, efficient say, networking game, send string bytes? or better convert each individual item own bytes , append byte array?

an integer 4 bytes long, read 4 bytes first integer, read next 4 next integer. in way dont need use strings send integers. google on how convert byte integer.

alternatively should use networking library netty has bytebuf buffer class provides methods readint, readlong etc. , while @ it, there game servers written in netty might out.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -