インターネットを介してTCPパケットを別のコンピューターに送信する方法を学習しようとしています。たとえば、コンピューター1はインターネットを介してコンピューター2にデータを送信します(TCPを使用)。両方のコンピューターにポート転送が正しく設定されていると仮定すると、2台のコンピューター間でTCP接続を確立するにはどうすればよいですか(Rubyの場合が望ましい)。LANで動作していますが、インターネットで試してみると動作しないようです。
私の試み(基本的に):
コンピューター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)
(コンピューター1でプライベートIPとポート32500番号を割り当てるのではなく)local_host=nilとlocal_port=nilをそのままにしておくとどうなりますか?
誰かが私を正しい方向に向けることができれば、それは素晴らしいことです!私のアプローチが少なくともある程度正しいことを願っています。