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