【发布时间】:2012-10-28 06:55:30
【问题描述】:
我正在尝试学习如何通过 Internet 将 TCP 数据包发送到另一台计算机。比如说,计算机 1 通过 Internet 将数据发送到计算机 2(使用 TCP)。假设两台计算机都正确设置了端口转发,我将如何在两台计算机之间建立 TCP 连接(最好是 Ruby)?我有它在我的局域网上运行,但是当我通过互联网尝试时,它似乎不起作用。
我的尝试(基本上):
计算机 1:
server = TCPServer.new 32500
client = server.accept
计算机 2:
TCPSocket.new PUBLIC_IP_OF_COMPUTER_1, 32500
问题是 TCPSocket 从不连接 TCPServer。
我在 Ruby 文档中读到 TCPServer.new 的语法是
new(remote_host, remote_port, local_host=nil, local_port=nil)
如果我只保留 local_host=nil 和 local_port=nil(而不是为它们分配计算机 1 上的私有 IP 和端口 32500 号)会发生什么?
如果有人能指出我正确的方向,那就太好了!我希望我的方法至少在某种程度上是正确的。
【问题讨论】:
-
workingwithtcpsockets.com 必读,它是关于 ruby 网络
标签: ruby sockets networking tcp tcpclient