我正在做一个从发送者到接收者的简单 UDP file.txt 传输。它是按提示到达的。但是,当我打印内容时,有些内容正确显示,但有些内容与接收器端收到的先前单词混在一起。
我的意思是:文本文件的内容全部为一句话:
日复一日,一周又一周,在我返回日内瓦时逝去;
例如在接收方:
日复一日,一周又一周逝去
代码是:
byte[] byteArray = new byte[9999];
DatagramSocket listenSocket = new DatagramSocket(5001, InetAddress.getByName("127.0.0.1"));
while(true) {
DatagramPacket segment = new DatagramPacket(byteArray, byteArray.length);
listenSocket.receive(segment);
ByteArrayInputStream byteIn = new ByteArrayInputStream(segment.getData());
int data = byteIn.read();
if(data == -1) {
//break;
} else {
System.out.println("Got: " + new String(segment.getData()));
}
是的,TCP 本来是一个更好的选择,但我需要帮助了解为什么会在这种情况下发生这种情况。希望大家能帮我解答一下这个问题。