【发布时间】:2015-03-26 03:41:29
【问题描述】:
我有一个使用 UDP 进行通信的 C# 客户端和 C++ 服务器程序。现在我只是使用 127.0.0.1 (localhost) 来模拟一台机器上的通信。
问题是我在同一台机器上的客户端和服务器之间的 10,000 个数据包测试没有丢弃任何 UDP 数据包,所以我不知道如何编写重传代码,因为我无法让它丢弃数据包,但它会发生在不同机器上的客户端和服务器之间的真实场景中。
是不是因为客户端和服务器在同一台机器上,所以没有丢包?
【问题讨论】:
-
是的。在环回连接上丢弃数据包非常困难。
-
if(rand() < RAND_MAX/8) /* don't send the packet */ else {send(...)} -
谢谢大家。 @immibis 啊,好吧,我在想我可以做这样的事情,谢谢
-
看看clumsy,听起来它对你有用。