我正在尝试学习如何通过 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 号)会发生什么?
如果有人能指出我正确的方向,那就太好了!我希望我的方法至少在某种程度上是正确的。