2

获取端口已在使用错误。

require 'em-websocket'
EM.run {
    EM::WebSocket.run(:host => "192.168.1.100", :port => 9001) do |ws|
        # Code goes here...
    end
}

然后在同一台服务器上同时使用不同的 IP 地址

require 'em-websocket'

EM.run {
    EM::WebSocket.run(:host => "192.168.1.101", :port => 9001) do |ws|
        # Code goes here...
    end
}

然后我得到这个错误......端口应该绑定到单独的 IP 地址,因此可以使用。

/usr/local/rvm/gems/ruby-1.9.3-p194/gems/eventmachine-1.0.3/lib/eventmachine.rb:526:in 'start_tcp_server': no acceptor (port is in use or requires root privileges) (RuntimeError)

我错过了什么吗?

更新:

运行:netstat -tulpn | grep ruby显示:

tcp        0      0 0.0.0.0:9001                0.0.0.0:*                   LISTEN      718/ruby

清楚地显示服务器绑定到0.0.0.0And Not192.168.1.100

我怎样才能eventmachine绑定到192.168.1.100

好像是个bug...

4

1 回答 1

5

Afaik0.0.0.0:9001意味着端口绑定在每个可用的 IP 地址上。所以它与192.168.1.100:9001.

于 2013-04-05T20:48:58.523 回答