0

TcpListener を作成していますが、他のコンピューターのクライアントがリスナーに参加できるようにしたいと考えています。

ポート フォワーディングを行う必要があることを読み、理解しましたが、意味がありません。アプリを公開するときに、他の人にこのリスナーを作成してもらいたいのですが、ポートを行うように指示することはできません。転送。

クライアントがポート転送なしで参加できる TcpListener を作成する可能性はありますか? ありがとうございました。

4

3 に答える 3

1

さて、まず何かを片付けてみてください。

ポート転送を使用する主な理由は、内部ネットワークの前に NAT ルーターがあるためです。ポート転送を設定するとは、パブリック インターフェイスの特定のポートへのトラフィックを内部コンピュータのポートに転送するように NAT ルーターに指示することです。

NAT ルーターがない場合、ポート転送は必要ありません。

現在、多くのルーターがUPnPをサポートしています。これは、ルーターに特定のポート転送を作成するようお願いする技術です。使用する適切なライブラリはManagedUPnPかもしれません。

ただし、ルーターのパブリック IP と開いているポートを把握し、それを他のアプリケーションに伝える必要があります。

ルーターが UPnP を許可していない場合、または他のファイアウォール ルールが適用されている場合、ポート転送を正しく設定できません。

于 2012-11-13T20:07:00.013 に答える
0

サーバー(TCP要求を受け入れるコンピューター)のみがポートを転送する必要があります。

一般的なモデルは、あなた(サービスの開発者/プロデューサー)がサーバーをホストすることです。次に、顧客(サービスに加入している人)は、IPまたはURLのいずれかを使用してサービスに接続します。サービスがファイアウォールの背後にある場合(コンピューターとインターネットモデムの間にルーターがある場合)、ポートを転送する必要があります。Windowのファイアウォールでもポートを開く必要があるかもしれませんが、すでにこれを行っていると思います。このモデルでは、顧客はルーターで何もする必要はありません(Webブラウザーを使用するようなものです)。

顧客がサービスをホストしている製品を作成している場合、顧客はポートの問題に対処する必要があります。その場合、Albin Sunnanboが提​​案するようにManagedUPnPを試すか、ポート転送の設定方法を説明している多くのサイトの1つにリダイレクトすることができます。

于 2012-11-13T20:44:20.480 に答える
0

サーバー アプリケーションを作成し、PC でポートを転送できます。クライアント アプリケーション (公開するもの) は PC に接続するだけなので、NAT に接続できます。アプリケーションをいくつかの php/asp ページと組み合わせることもできますが、送信するデータによって異なります。稼働時間、ハードウェアなどの PC 統計の場合は、作成した Web サイト スクリプトに対してクライアント アプリで http クエリを使用するだけです (たとえば、mypage.com/?uptime=100&ram=2gb&hash=xxxx など)。

于 2012-11-13T20:31:45.017 に答える