在golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天编程网就整理分享《如何模拟客户端和服务器之间完全网络丢失?》
在golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天编程网就整理分享《如何模拟客户端和服务器之间完全网络丢失?》,聊聊,希望可以帮助到正在努力赚钱的你。
问题内容我试图了解客户端(在客户端-服务器架构中)在使用“阻塞”调用时是否会以某种方式完全失去连接的另一端,而不会给出任何丢失的迹象。我认为这可能会正常发生,因为大多数网络有时都会出现问题。问题是我想重复这个想法:客户端以阻塞模式连接,服务器接受连接,然后消失,然后可能稍后重新出现,但不是以服务器关闭连接或“nacks”的方式'或任何东西。
有没有办法在本地网络中引发这种行为?
事实证明这个特定的应用程序是用 Go 编写的,但我不知道这有多重要。
冒着愚蠢的风险...您是否考虑过手动拔掉电缆/关闭网络接口?如果这只是为了测试如果失去连接会发生什么,这是一个选项。
另一种选择是使用操作系统的防火墙来丢弃特定流量,例如在基于 linux 的操作系统中添加带有 iptables 的规则。
//Block incoming port 80 (WEB)
$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j DROP
//Block outgoing port 80 (web)
$ sudo iptables -I OUTPUT -p tcp -m tcp --dport 80 -j DROP
//Remove block incoming port 80 (web)
$ sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
//Remove block outgoing port 80 (web)
$ sudo iptables -I OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
当然,如果需要,您可以在程序中执行此命令。
好了,本文到此结束,带大家了解了《如何模拟客户端和服务器之间完全网络丢失?》,希望本文对你有所帮助!关注编程网公众号,给大家分享更多Golang知识!
--结束END--
本文标题: 如何模拟客户端和服务器之间完全网络丢失?
本文链接: https://www.lsjlt.com/news/596851.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0