ruby udpsocket。找出econnreset源

时间:2013-03-18 16:29:50

标签: ruby sockets econnreset

我有多个客户端在UDP上连接。存储它们的地址以供将来通信。如果一个人死了并且发送了消息,则recvfrom(2)给我econnreset。 有没有办法知道哪个同伴在此时死亡?

场景看起来像这样

def broadcast message
  # one of the clients is dead
  clients.each { |x| @socket.send message, 0, x.ip, x.port }
end

def fill_inbox
  @inbox << @socket.recvfrom(1000) while IO.select([@socket],nil,nil,0)
rescue Errno::ECONNRESET => e
  # who died?
end

0 个答案:

没有答案