在Ruby中,如何通过重置中止连接?
在任何套接字API中,close()方法都会关闭与FIN的连接。如果我想中止与RST的连接,我该怎么做?使用普通的Ruby TCPSocket,您可以通过如下操作打开SO_LINGER:在Ruby中,如何通过重置中止连接?,ruby,sockets,Ruby,Sockets,在任何套接字API中,close()方法都会关闭与FIN的连接。如果我想中止与RST的连接,我该怎么做?使用普通的Ruby TCPSocket,您可以通过如下操作打开SO_LINGER: linger = [1,0].pack('ii') socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, linger) socket.close 答案是好的,但我发现了一个错误,请参见:第二行应该是sock.setsockopt(Socket::S
linger = [1,0].pack('ii')
socket.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, linger)
socket.close
答案是好的,但我发现了一个错误,请参见:第二行应该是
sock.setsockopt(Socket::SOL_Socket,Socket::SO_LINGER,LINGER)
我编辑了答案以反映第一条注释中的更正-我已经测试了这一点,更正工作正常。还进行了编辑,以反映该问题现在询问的是Ruby,而不是RubyEventMachine。感谢您的回答,我在收到连接重置时需要进行一些行为测试,因此这非常完美:-)