通过本地UDP套接字发送数据包时不会丢失数据包

时间:2017-02-25 05:19:00

标签: c sockets network-programming udp

如果UDP客户端 - 服务器都在同一台机器上,那么没有数据包丢失是正常的吗?我目前正在通过获取客户端上sendtorecvfrom函数获得的字节之间的差异来计算数据包丢失?我做错了吗?

1 个答案:

答案 0 :(得分:1)

如果在这种情况下丢包,我会非常感到惊讶。但另一方面,你用错误的方法来计算任何损失。

请记住,UDP是一个面向数据包的协议,这意味着您发送的内容将是一个数据包,您收到的内容将是一个数据包,并且所有内容的大小没有差异你发送和接收。如果发送一个512字节的数据包,接收器将始终接收完整的512字节数据包,或者根本不接收任何数据包。

这意味着您应该计算调用sendto的次数,并将recvfrom返回的次数与数据包进行比较。