0

そこで私は、ネットワーキングのすばらしい世界に入るために、単純なテキスト IM プログラムを構築しようとしています。Winsock 2.0 と C++ を使用して、サーバーとクライアントの 2 つのプログラムを作成しました。ソケット作成で UDP 接続を指定しました。

SOCKET Socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

ローカル IP アドレスを使用してサーバーに接続しようとすると、すべてが機能します。ただし、インターネットの IP アドレスを使用すると接続できません。ファイアウォールとウイルス対策の両方を無効にして複数のテストを行ったので、ファイアウォールの問題ではないことは確かです. 足りないものはありますか?ローカル アドレス経由では接続できるが、パブリック IP アドレス経由では接続できない理由が他に考えられますか? どうもありがとうございました!

4

1 に答える 1

1

ほとんどの場合、所有しているパブリック IP アドレスは、ネットワーク ルーター アプライアンスによって所有されています。コンピューターにトラフィックを渡すように構成する必要があります

  public IP            internal router
   address +--------+  IP address  +---------+
      v    |        |  v           |         |
 ----------+ router +--------------+ desktop +
           |        |           ^  |         |
           +--------+   internal   +---------+
                      desktop IP address

http://portforward.com/

于 2011-08-25T06:35:25.700 に答える