1
我知道TCP模拟一个流,所以通常读取将在收到任何数据后立即开始。这就是为什么我用这个片段作用于它UDP数据包是否全部到达?
int packetSize = inputStream.readShort() ;
byte packetBuffer[] = new byte[packetSize];
int byteTrans = 0;
while (byteTrans < packetSize)
{
inputStream.read(packetBuffer , byteTrans , 1);
byteTrans++;
}//
对于UDP但是之前,为了确保它等待整个数据包,将我还是要解决同样的问题?我不这么认为,因为TCP基本上是通过将数据分解为更小的数据包并发送来模拟流,而在UDP中,您可以更好地控制整个流程。
对于阅读UDP我用
byte[] packetByte = new byte[packetSize];
DatagramPacket packet = new DatagramPacket(packetByte, packetByte.length);
socket.receive(packet);
我一定要实现对UDP类似的制度?