Ruby检测套接字关闭,同时recv

时间:2012-09-01 16:30:08

标签: ruby sockets

我有一个连接到服务器的ruby套接字客户端,它将随时关闭连接。 这是我的代码:

@conn = TCPSocket.new address[0], address[1]
while xml = @conn.recv(4096)
  // do something
end

如何在此处检测插座关闭?

1 个答案:

答案 0 :(得分:1)

你可能已经为自己回答了这个问题,但是为了记录......

recv方法阻塞,直到至少有一个字节可用,或者套接字关闭。因此,您可以循环,直到recv返回空字符串:

@conn = TCPSocket.new address[0], address[1]
while true
  xml = @conn.recv(4096)
  break if xml.empty?
  // do something
end
相关问题