質問: C言語で外部のコンピュータと通信したいのですが、ローカルでは接続出来ています。今までローカルIPを入れていた部分にグローバルIPアドレスを入れれば良いのでしょうか?ポート番号は12345番で設定しています。友人に実験に手伝ってもらいましたが、接続されないのです。どうしたら良いのでしょうか?またデザリングの状態でサーバープログラムを動かして外部と通信する事は可能なのでしょうか?
回答: こんにちは。 ローカルIPアドレスで通信できるプログラムは、グローバルIPアドレスでも通信できます。 ただし、下記のどれかが必要です。 1両方のPCにグローバルIPアドレスが割り当てられている 2送信先PCはグローバルIPアドレスが割り当てられていて、送信元PCはNATルータの配下にある 3両方のPCがNATルータの配下にあり、送信先PCへポートフォワーディング等でパケットが届くようにNATルータを設定している。 また、PC自身も含めてパケットの経路にファイヤーウォールが設定されている場合、お使いのプロトコル(TCP or UDP)のポート12345を通すように設定しておくことが必要です。 お友達とlyc0ris_secさんのPCにグローバルIPアドレスは割り当てられていますか?