J'utilise ce code pour recevoir des données d'un socket UDP et le retourner sous forme de chaîne:écoute sur socket UDP
byte[] receiveData = new byte[MAX_PACKET_SIZE];
DatagramPacket receivedPacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivedPacket);
return new String(receivedPacket.getData(), 0, receivedPacket.getLength());
Je mis Max_Packet_Size à 1024 qui provoque Java pour réserver un 1024bit à long octet [] chaque fois qu'un le paquet arrive. Cela provoque un lot de surcharge si le paquet est beaucoup plus petit que 1024 octets.
Existe-t-il un meilleur moyen d'y parvenir? Peut-être avec une sorte de cycle de lecture while()? Je ne suis pas encore très familier avec Java. :)