TCPServer.new(port) 创建一个可以为来自本地主机或远程计算机的请求提供服务的服务器。
但是 GServer.new(port) 创建的服务器只能服务来自本地主机的请求。
查看GServer的源码,它调用了TCPServer.new(@host,@port)。 @host 默认为 DEFAULT_HOST,即 127.0.0.1。
TCPServer.new 的来源说:
# TCPServer.new([hostname,] port) => tcpserver
# Creates a new server socket bound to _port_.
# If _hostname_ is given, the socket is bound to it.
我想使用GServer,但不绑定(bind)到某个主机名。这样的事可能吗?网络上的每个示例仅使用本地主机。
看来,如果没有给GServer指定主机,GServer就不应该给TCPServer指定主机。
最佳答案
使用 0.0.0.0
作为主机名来绑定(bind)到所有接口(interface)。
关于Ruby 的 GServer 只想在本地主机上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4662403/