Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 寻找;悬挂式插座模拟器“;用于测试插座超时_Sockets_Tcp - Fatal编程技术网

Sockets 寻找;悬挂式插座模拟器“;用于测试插座超时

Sockets 寻找;悬挂式插座模拟器“;用于测试插座超时,sockets,tcp,Sockets,Tcp,我正在测试套接字超时条件的处理——例如,连接超时、连接但不接受、接受但不读取,等等 我正在寻找一个程序/脚本,它将充当产生这些效果的服务器套接字 这个“挂起的套接字模拟器”需要在Mac OS(或Linux)上运行 你为什么不在你的开发机器上启动你的客户端程序,当你想显示超时时,拔掉你的网线。我找到了一个叫做Bane: 我认为这个功能强大的工具在这里可能会有所帮助,它可以将请求重定向到真正的端点,因此,您可以完全控制socat进程本身,以模拟您想要的内容(例如通过kill-stop等方式在某个阶段

我正在测试套接字超时条件的处理——例如,连接超时、连接但不接受、接受但不读取,等等

我正在寻找一个程序/脚本,它将充当产生这些效果的服务器套接字


这个“挂起的套接字模拟器”需要在Mac OS(或Linux)上运行

你为什么不在你的开发机器上启动你的客户端程序,当你想显示超时时,拔掉你的网线。

我找到了一个叫做Bane:

我认为这个功能强大的工具在这里可能会有所帮助,它可以将请求重定向到真正的端点,因此,您可以完全控制socat进程本身,以模拟您想要的内容(例如通过kill-stop等方式在某个阶段暂停进程)

我的一个使用案例是,我只希望我的客户端应用程序完成与远程服务的握手,但不读取更多数据:

 socat -d -d -d TCP-LISTEN:22181,fork SYSTEM:'socat - "TCP:the-remote-host:2181" \| dd bs=1 count=50' &

上面的示例只发送回响应的前50个字节。

不确定您要的是什么?你会说什么语言?没有语言?为什么不使用Java,在accept/read/write函数期间捕获SocketTimeoutException()。我要找的是一个在服务器端模拟这些条件的程序。我不知道该程序是用什么编写的,只要它可以在MacOS或Linux上运行。您将立即获得“无主机路由”。第二,我需要模拟多种类型的超时(请参见问题)。我认为您应该先连接,然后拔出插头。从示例中可以看出,使用socat,您甚至可以在发送请求或获得响应之前执行任何脚本。使用'-d-d-d'选项,您可以获得最丰富的调试信息,这对您来回分析数据包非常有帮助。祝你好运:)