Closed. This question needs details or clarity. It is not currently accepting answers. Learn more
想改进这个问题吗添加细节并通过editing this post澄清问题。
5年前关闭。
我有用C编写的udp服务器/客户端代码,我想模拟数据包丢失,因为无线网络上的数据包丢失太高,我无法执行测试,所以我切换到以太网例如,我想有20%的数据包丢失,我如何能在C语言中做到这一点?
谢谢

最佳答案

我不确定您是否要在应用程序中模拟网络中断,因为测试只会显示模拟工作正常您必须模拟应用程序外部的数据包丢失。
您可以添加iptables规则:

# for randomly dropping 20% of incoming packets:
iptables -A INPUT -m statistic --mode random --probability 0.2 -j DROP

# and for dropping 20% of outgoing packets:
iptables -A OUTPUT -m statistic --mode random --probability 0.2 -j DROP

http://code.nomad-labs.com/2010/03/11/simulating-dropped-packets-aka-crappy-internets-with-iptables/

关于c - 用C程序语言模拟数据包丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23058019/

10-11 18:26