3
A
回答
3
有几层可以模拟这个。如果你的两台服务器在两个不同的TCP端口上侦听,最简单的方法是。在这种情况下,您可以运行两个tcp代理,并在想要模拟故障时停止/暂停一个代理。对于Windows,我建议使用tcpTrace来做到这一点。
另一种选择是将两台服务器绑定到两个虚拟NIC,它们桥接到物理NIC。当然,如果您有两个物理网卡,您可以将每个服务器进程绑定到不同的物理网卡。
在较低级别,您可以运行WAN模拟器。大多数模拟器允许您损害特定类型的流量或特定端口。一个这样的模拟器是Packetstorm。
我建议的另一种方法是将调试器附加到一个进程,并使用调试器暂停进程上的所有线程。通常,一个进程不会死亡,但会陷入垃圾收集或循环中。由于套接字未关闭,许多“高可用性”解决方案不会自动进行故障转移。
2
0
一个穷人的做法,如果你可以使用睡眠/你的机器上休眠模式:
- 在Windows防火墙设置出站规则,以禁止对特定程序的连接。
- 已连接的插座保持连接状态:将机器暂时置于睡眠/休眠模式一段时间,以强制这些插座断开连接。
- 系统恢复后,程序无法建立新的连接。
- 只要您禁用防火墙规则,就可以建立新的连接。
请注意,它不会模拟网络中断,因为每个连接都会立即失败并出现权限错误。但它阻止了一个进程建立连接。
相关问题
- 1. 网络模拟器
- 2. 网络模拟器?
- 3. Python编程:模拟网络和调试
- 4. 模拟无线网络OMNet ++
- 5. 模拟铁路网络
- 6. Makefile - 模拟逻辑网络
- 7. 模拟网络向图
- 8. 。GWT的网络模拟?
- 9. Android模拟器和网络
- 10. 如何将虚拟网络驱动器映射到特定位置
- 11. 在Azure中将虚拟网络(经典)连接到虚拟网络(经典)
- 12. 将文件移动到网络共享(通过模拟)C#
- 13. unix网络进程
- 14. 监视特定进程的网络性能
- 15. Windows上的特定进程的网络活动监视器
- 16. 将WCF webservice绑定到特定的网络接口/ IP
- 17. 如何将Azure虚拟机规模集配置到现有虚拟网络?
- 18. 将Azure Web应用程序连接到现有虚拟网络
- 19. 连接到Android中的特定网络
- 20. 如何将应用程序绑定到LINUX中的特定网络接口?
- 21. 跨网络进行文件复制的模拟
- 22. 特定的.NET网络库
- 23. TrafficStats特定应用程序特定的网络接口
- 24. 将特定网络接口上的流量转发到特定主机
- 25. 将自定义网址路由到网络应用程序
- 26. 如何强制特定进程使用代理进行网络通信
- 27. 将颜色应用到特定节点网络x
- 28. 如何在Android模拟器中模拟总体网络丢失
- 29. 网络丢包延迟带宽模拟
- 30. 使用ns-2模拟实时网络
谢谢你的答案。 tcpTrace解决方案看起来很有前景。我会尝试这一个。 – Gant 2009-08-28 06:44:39
它的工作原理! tcpTrace非常易于使用。 – Gant 2009-08-28 17:16:22