我有一台UDP服务器读取UDP和TCP的图像。 协议格式为: 长度 ID 有效载荷
当我尝试读取有效负载或图像本身时,我可以使用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());
}