Ruby TCPServer获取客户端IP地址

时间:2012-12-12 19:17:19

标签: ruby

这是我的不工作脚本(只是挂起......)

require 'socket'
server = TCPServer.new 2000

loop do
  Thread.start(server.accept) do |client|
    sock_domain, remote_port, remote_hostname, remote_ip = server.peeraddr
    client.puts "Hello !"
    client.puts "Time is #{Time.now}"
    puts "connection coming from #{remote_ip} and port #{remote_port}"
    client.close
  end
end

我希望获得连接客户端IP的输出,但是连接完成后没有任何反应。

1 个答案:

答案 0 :(得分:5)

代码很好,除了这个:

sock_domain, remote_port, remote_hostname, remote_ip = server.peeraddr

应该是这样的:

sock_domain, remote_port, remote_hostname, remote_ip = client.peeraddr
                                                       ^^^^^^
相关问题