Python 2.7.2 Windows732ビット
この質問の前に、私はネットワークプログラミングにかなり慣れていません。Pythonの組み込みSocketServerを使用して単純なサーバーとクライアントを作成しました
SocketServer.ThreadingTCPServer((host, port), Handler)
これは、ホストが「localhost」であり、クライアントとサーバーが同じマシン上にある場合に正常に機能します。ただし、インターネット経由でサーバーにアクセスできるようにしたい。私のコンピューターはルーターの後ろにあります。pystun(下記)を使用してコンピューターのパブリックIPアドレスを確認していますが、接続できません。私は少し調査を行いましたが、プログラムがポートを開くと、ルーターがそれを認識し、トラフィックをそのコンピューターに転送することを理解しています。これは起こっていないようです。ファイアウォールを無効にしても同じ結果が得られます。ポートフォワーディングを使用する必要がありますか?ほとんどのアプリケーションは、ルーターの背後からどのように通信できますか?ここでwin32comを介したパンチャー(以下のソース)とポートフォワーディングを調べました。私は正しい方向に私を向けてくれる人を探しています。プログラムでサーバーにルーターの背後からリスニングポートを開いてトラフィックを転送させるにはどうすればよいですか?
パンチャーソース:https ://coherence.beebits.net/svn/trunk/Puncher/puncher/base.py pystun:http ://pypi.python.org/pypi/pystun