10
如何检测套接字是否半开放?我正在处理的情况是,套接字的另一端发送了FIN并且Ruby应用程序已经确认FIN。有没有办法让我知道插座处于这种状态?Ruby:如何检测套接字的一侧是否已关闭
举个例子来说:
require 'socket'
s = TCPServer.new('0.0.0.0', 5010)
loop do
c = s.accept
until c.closed?
p c.recv(1024)
end
end
在这种情况下,当我远程登录到端口5010,我会看到我所有的输入,直到我关闭telnet会话。此时,它会尽可能快地打印空字符串。
这似乎是http://stackoverflow.com/questions/61675/recovering-from-a-broken-tcp-socket-in-ruby-when-in-gets重复,不知道这是否可以帮助任何寿! – gaqzi 2009-04-30 16:02:56