2012-01-28 10 views
3

Pythonでクライアント/サーバサービスプログラムを開発するための技術(とライブラリ)に関するアドバイスを探しています。静的IP(それはOkです)、動的IP、ルータの後ろ、モバイルプロバイダ(可能であれば、どこでも動作するはずです)で実行できます。ポートフォーワーディングはオプションではありません。ルータの背後にあるPythonクライアント/サーバ

主な問題は、接続され:

  • 送信:インターネットからのルータ
+3

ルーターの存在はどのように関係していますか?それは透過的で、ルータのIP層によって処理されるべきです。それは、ネットワーク内の正しいエンドポイントにトラフィックをルーティングするルータの全体のポイントのようなものです... – immortal

+0

明確な考えは、ありがとう。私はこの質問に堪能ではありません(それが私が求めている理由です:)。しかし、通常は、インターネットからルータ(NAT付き)の背後にあるコンピュータにアクセスすることはできません。 pingを実行すると、ISPから提供された公開IPだけがわかるためです。そしてあなたがこのコンピュータに接続したいのなら、あなたは公的なIPしか持っていません。 100.100.100.100/192.168.1.2(パブリックIP /ローカルIP)のような接続を作成することは素晴らしいことですが、一般的に可能かどうかはわかりません。どう思いますか? – Yury

答えて

3

の背後にあるコンピュータのルーター

  • リスニングの背後にあるコンピュータへのあなたの問題は些細なものではありませんが、うまくいけば、このあなたが行くのを助けることができます。 TwistedはおそらくPythonのクライアント/サーバーコードのための最良のライブラリです。 STUNとおそらくTURNは、この種のことを行うためのプロトコルです。

    python library for STUNがありますが、私はそれを保証できません。

  • +0

    アドバイスありがとう、STUNとTURNは答えを見つける方法です。また、TURN wikiページからアクセス可能な、Yahooからの私の質問についても大きな助けがあります。 Twistedは素晴らしいフレームワークですが、NATの背後での作業をサポートしていないようです...私は完全にはわかりませんが[こちら](http://twistedmatrix.com/pipermail/twisted-python/2009-Octobe/020721 .html)smbはこの質問に答えます。 – Yury

    1

    STUNには、RFC3489,RFC5389の2つのバージョンがあり、後者は新しいバージョンです。 TURNは「NAT(STUN)のためのセッショントラバーサルユーティリティへのリレー拡張」です。ここにはRFC5766があります。

    STUNクライアント:(Pythonで)(RFC4389)pystun

    TURNクライアント:(もSTUNのRFC5389をサポート)turn-client(PythonとCで)

    関連する問題