我有一个 UDP 服务器读取图像,包括 UDP 和 TCP。协议格式为:length ID payload
当我尝试读取有效负载或图像本身时,我可以使用 FLAG 来完成,但这是不可取的。如何停止在 UDP 中读取文件(或知道何时没有更多数据)并写入文件?注释代码,但使用 FLAG,我不想使用 FLAG,因为其他客户端可能会连接并且只会传输原始图像文件。
谢谢
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());
}