Pythonでクライアント/サーバサービスプログラムを開発するための技術(とライブラリ)に関するアドバイスを探しています。静的IP(それはOkです)、動的IP、ルータの後ろ、モバイルプロバイダ(可能であれば、どこでも動作するはずです)で実行できます。ポートフォーワーディングはオプションではありません。ルータの背後にあるPythonクライアント/サーバ
主な問題は、接続され:
- 送信:インターネットからのルータ
Pythonでクライアント/サーバサービスプログラムを開発するための技術(とライブラリ)に関するアドバイスを探しています。静的IP(それはOkです)、動的IP、ルータの後ろ、モバイルプロバイダ(可能であれば、どこでも動作するはずです)で実行できます。ポートフォーワーディングはオプションではありません。ルータの背後にあるPythonクライアント/サーバ
主な問題は、接続され:
の背後にあるコンピュータのルーター
python library for STUNがありますが、私はそれを保証できません。
アドバイスありがとう、STUNとTURNは答えを見つける方法です。また、TURN wikiページからアクセス可能な、Yahooからの私の質問についても大きな助けがあります。 Twistedは素晴らしいフレームワークですが、NATの背後での作業をサポートしていないようです...私は完全にはわかりませんが[こちら](http://twistedmatrix.com/pipermail/twisted-python/2009-Octobe/020721 .html)smbはこの質問に答えます。 – Yury
STUNには、RFC3489,RFC5389の2つのバージョンがあり、後者は新しいバージョンです。 TURNは「NAT(STUN)のためのセッショントラバーサルユーティリティへのリレー拡張」です。ここにはRFC5766があります。
STUNクライアント:(Pythonで)(RFC4389)pystun
TURNクライアント:(もSTUNのRFC5389をサポート)turn-client(PythonとCで)
pystunをすることができますhttps://pypi.python.org/pypi/pystun
になりましたpipでインストールする: pip install pystun
ルーターの存在はどのように関係していますか?それは透過的で、ルータのIP層によって処理されるべきです。それは、ネットワーク内の正しいエンドポイントにトラフィックをルーティングするルータの全体のポイントのようなものです... – immortal
明確な考えは、ありがとう。私はこの質問に堪能ではありません(それが私が求めている理由です:)。しかし、通常は、インターネットからルータ(NAT付き)の背後にあるコンピュータにアクセスすることはできません。 pingを実行すると、ISPから提供された公開IPだけがわかるためです。そしてあなたがこのコンピュータに接続したいのなら、あなたは公的なIPしか持っていません。 100.100.100.100/192.168.1.2(パブリックIP /ローカルIP)のような接続を作成することは素晴らしいことですが、一般的に可能かどうかはわかりません。どう思いますか? – Yury