当我总共发送7mb时,服务器只接收到16个UDP 512字节数据包

时间:2013-02-24 13:38:20

标签: java network-programming udp packet

我将一个7mb文件分成512b块,然后用udp将它发送到服务器。客户端发送大约14000个数据包,但在收到16个数据包后,在服务器端发送socket.receive(数据包)块。

有什么想法在这里发生了什么?

2 个答案:

答案 0 :(得分:4)

UDP被定义为不可靠的协议。数据包可能会丢失,并且不会通知发件人。它们也可能无序到达,甚至重复也可能到达。

UDP适用于不需要错误检查和纠正的应用程序,或者由应用程序本身执行。

如果您需要可靠的协议,请开始使用TCP。

答案 1 :(得分:1)

与TCP相比,UDP既不确保数据包顺序也不确保实际传送(没有TCP中的流控制)。请参阅此问题:ensuring packet order in UDP