2012-03-30 19 views
1

私は、私が扱うはずだった不思議な状況を経験しています。ポート転送(P2P接続)

状況は次のとおりです。2台のルータ(ISPによる静的IPを使用)と2台のホストコンピュータが各ルータの背後にあります。 IPアドレスがR1_IPAddr(ルータ1)、R1_IPAddr_LocalH1(ルータ1の後ろにあるホスト1)が第1グループ、R2_IPAddr(ルータ2)、R2_IPAddr_LocalH2(ルータ2の後ろにあるホスト2)が第2グループに属しているとします。

私の目的は次のとおりです。R1_IPAddr_LocalH1をR2_IPAddr_LocalH2に接続すること。 ここで私がしたこと:R2_IPAddr_LocalH2とR2_IPAddrルータの私のサーバコード(C#)は、ポート5000をR2_IPAddr_LocalH2に転送します(設定済みですが、他の設定が必要な場合があります)。サーバコードは5000番ポート番号のR2_IPAddr_LocalH2をバインドし、R1_IPAddr_LocalH1マシンが5000番ポートのR2_IPAddrルータに接続しようとするのを待ちます。

注:ルータにはファイアウォールオプションがありません。 LAN、うまく動作します!

誰かがplsを共有するアイデアをお持ちの場合は、 ありがとうございます。

答えて

0

私はまだこの機能を作っていませんが、ポートフォワーディングの設定と管理に使用されるNATUPnP 1.0タイプライブラリの一部を説明して、Microsoftが作成した機能について書いてありました。

http://pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-via-UPnP.aspx

+0

お返事ありがとうございました。あなたは技術が豊富です:) 私の質問はあなたにもう一度行きます:)ホストマシンに5000ポートを転送するようにルータを設定しませんでした。しかし、ローカルマシン上にポートフォワーディングを登録すると(NATテーブルに投稿したプログラムで)、うまくいきます。したがって、この時点からルータは転送されませんが、マシンはルータから5000ポートを転送するように要求しています。それは本当ですか、私は混乱していますか? –

+0

あなたは正しいです、プログラムは本質的にデータ転送を扱うためにあなたのコンピュータにポートxxxxのすべてのデータをあなたのコンピュータに指示するようにルータに指示します。これがビットトレントの仕組みです。 – Rich

+0

すごい!私のポイントを確認してくれてありがとう。あなたがより豊かになることを願っています:) –