我正在测试套接字超时条件的处理 - 例如,连接超时,连接但不接受,接受但不会读取等等。
我正在寻找一个程序/脚本,它将充当产生这些效果的服务器套接字。
这个“挂起的套接字模拟器”需要在Mac OS(或Linux)上运行。
答案 0 :(得分:5)
我发现了一个名叫Bane的人:https://github.com/danielwellman/bane。
答案 1 :(得分:3)
我认为强大的工具socat在这里可能会有所帮助,它可以将请求重定向到真实端点,因此,您可以完全控制socat进程本身来模拟您想要的内容(例如暂停进程)在某个阶段由kill -stop左右)
我的一个用例是我只想让我的客户端应用程序完成与远程服务的握手,但不再读取数据:
socat -d -d -d TCP-LISTEN:22181,fork SYSTEM:'socat - "TCP:the-remote-host:2181" \| dd bs=1 count=50' &
上面的例子只返回响应的前50个字节。
答案 2 :(得分:1)
为什么不在开发机器上启动客户端程序,何时需要显示TimeOut,只需拔下网线即可。