如何让其他计算机连接到我的localhost服务器?

时间:2014-10-19 20:46:49

标签: ruby sockets

我最近开始学习Ruby Sockets并决定研究这个主题。我遇到了ruby-doc,其中包含一些运行顺畅的示例代码:

这是服务器的示例代码:

require 'socket'

server = TCPServer.new 2000 # Server bound to port 2000

loop do
  client = server.accept    # Wait for a client to connect
  client.puts "Hello !"
  client.puts "Time is #{Time.now}"
  client.close
end

客户端的示例代码:     要求' socket'

s = TCPSocket.new 'localhost', 2000

while line = s.gets # Read lines from socket
  puts line         # and print them
end

s.close             # close socket when done

所以这个运行良好,但我想知道如果客户端从另一台计算机运行,我将如何连接客户端。所以我试图取代"' localhost'"在客户端代码中使用我的公共IP地址由whatismyip.com提供,但是,当我尝试在另一台计算机上运行新客户端代码时,我只是遇到了超时错误。我甚至尝试在运行服务器的同一台机器上运行新的客户端代码但仍然出现超时错误。 有谁知道我怎么能让它正常工作? 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

格雷格·休吉尔帮我解决了这个问题: 我的第一个问题是我使用了错误的地址。 Greg建议我通过cmd命令“ipconfig”检查我的实际地址。该命令为我提供了托管服务器的实际地址。通过这个,我在客户端代码中更改了“'localhost'”并将其更改为实际的IP地址。运行时,我收到一条错误,指出服务器已主动拒绝连接。通过将服务器代码中的“localhost”更改为服务器计算机的IP地址来解决此问题。 谢谢Greg的帮助!