【发布时间】:2014-10-13 03:44:34
【问题描述】:
我正在使用此代码从 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());
我将 MAX_PACKET_SIZE 设置为 1024,这会导致 Java 在每次数据包到达时保留一个 1024 位长字节 []。如果数据包远小于 1024 字节,这会导致 很多 开销。
有没有更好的方法来做到这一点?也许有某种 while() 读取周期?我对Java还不是很熟悉。 :)
【问题讨论】: