送信者から受信者への単純なUDP file.txt転送を行っています。迅速に届きました..しかし、コンテンツを印刷すると、一部は正しく出力されましたが、一部は受信側で受信した以前の単語とマッシュアップされていました.
つまり、テキスト ファイルの内容は次のように ALL IN ONE SENTENCE です。
ジュネーブに戻ると、毎日、毎週、過ぎ去りました。
たとえば、受信側では次のようになります。
来る日も来る日も、何週間も過ぎ去り、ジュネーブに戻ってきた。
このコードは次のとおりです。
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 の方がより適切なオプションでした。しかし、この場合、なぜこのようなことが起こるのかについて助けが必要です。皆さんがこの問題について私に洞察を与えてくれることを願っています。