如果UDP客户端 - 服务器都在同一台机器上,那么没有数据包丢失是正常的吗?我目前正在通过获取客户端上sendto
和recvfrom
函数获得的字节之间的差异来计算数据包丢失?我做错了吗?
答案 0 :(得分:1)
如果在这种情况下丢包,我会非常感到惊讶。但另一方面,你用错误的方法来计算任何损失。
请记住,UDP是一个面向数据包的协议,这意味着您发送的内容将是一个数据包,您收到的内容将是一个数据包,并且所有内容的大小没有差异你发送和接收。如果发送一个512字节的数据包,接收器将始终接收完整的512字节数据包,或者根本不接收任何数据包。
这意味着您应该计算调用sendto
的次数,并将recvfrom
返回的次数与数据包进行比较。