UDPとTCPの両方の画像を読み取るUDPサーバーがあります。プロトコルの形式は次のとおりです。長さ ID ペイロード
ペイロードまたはイメージ自体を読み取ろうとすると、FLAG を使用して読み取ることができますが、これは望ましくありません。UDP でのファイルの読み取りを停止し (またはデータがなくなったことを知り)、ファイルに書き込むにはどうすればよいですか? コメントされたコードですが、フラグを使用すると、他のクライアントが接続して生の画像ファイルを転送する可能性があるため、フラグを使用したくありません。
ありがとう
while (true) {
socket.receive(receivePacket);
/*
if (receivePacket.getLength() <= 8) {
cmd = new String(receivePacket.getData(), 0,receivePacket.getLength());
if (cmd.equals("END_FILE")) {
System.out.println("UDP ServerThread() Command: " + cmd);
break;
}
}*/
fos.write(receivePacket.getData(), 0, receivePacket.getLength());
}