我有一个连接到服务器的ruby套接字客户端,它将随时关闭连接。 这是我的代码:
@conn = TCPSocket.new address[0], address[1]
while xml = @conn.recv(4096)
// do something
end
如何在此处检测插座关闭?
答案 0 :(得分:1)
你可能已经为自己回答了这个问题,但是为了记录......
recv方法阻塞,直到至少有一个字节可用,或者套接字关闭。因此,您可以循环,直到recv返回空字符串:
@conn = TCPSocket.new address[0], address[1]
while true
xml = @conn.recv(4096)
break if xml.empty?
// do something
end