TcpListener を作成していますが、他のコンピューターのクライアントがリスナーに参加できるようにしたいと考えています。
ポート フォワーディングを行う必要があることを読み、理解しましたが、意味がありません。アプリを公開するときに、他の人にこのリスナーを作成してもらいたいのですが、ポートを行うように指示することはできません。転送。
クライアントがポート転送なしで参加できる TcpListener を作成する可能性はありますか? ありがとうございました。
TcpListener を作成していますが、他のコンピューターのクライアントがリスナーに参加できるようにしたいと考えています。
ポート フォワーディングを行う必要があることを読み、理解しましたが、意味がありません。アプリを公開するときに、他の人にこのリスナーを作成してもらいたいのですが、ポートを行うように指示することはできません。転送。
クライアントがポート転送なしで参加できる TcpListener を作成する可能性はありますか? ありがとうございました。
さて、まず何かを片付けてみてください。
ポート転送を使用する主な理由は、内部ネットワークの前に NAT ルーターがあるためです。ポート転送を設定するとは、パブリック インターフェイスの特定のポートへのトラフィックを内部コンピュータのポートに転送するように NAT ルーターに指示することです。
NAT ルーターがない場合、ポート転送は必要ありません。
現在、多くのルーターがUPnPをサポートしています。これは、ルーターに特定のポート転送を作成するようお願いする技術です。使用する適切なライブラリはManagedUPnPかもしれません。
ただし、ルーターのパブリック IP と開いているポートを把握し、それを他のアプリケーションに伝える必要があります。
ルーターが UPnP を許可していない場合、または他のファイアウォール ルールが適用されている場合、ポート転送を正しく設定できません。
サーバー(TCP要求を受け入れるコンピューター)のみがポートを転送する必要があります。
一般的なモデルは、あなた(サービスの開発者/プロデューサー)がサーバーをホストすることです。次に、顧客(サービスに加入している人)は、IPまたはURLのいずれかを使用してサービスに接続します。サービスがファイアウォールの背後にある場合(コンピューターとインターネットモデムの間にルーターがある場合)、ポートを転送する必要があります。Windowのファイアウォールでもポートを開く必要があるかもしれませんが、すでにこれを行っていると思います。このモデルでは、顧客はルーターで何もする必要はありません(Webブラウザーを使用するようなものです)。
顧客がサービスをホストしている製品を作成している場合、顧客はポートの問題に対処する必要があります。その場合、Albin Sunnanboが提案するようにManagedUPnPを試すか、ポート転送の設定方法を説明している多くのサイトの1つにリダイレクトすることができます。
サーバー アプリケーションを作成し、PC でポートを転送できます。クライアント アプリケーション (公開するもの) は PC に接続するだけなので、NAT に接続できます。アプリケーションをいくつかの php/asp ページと組み合わせることもできますが、送信するデータによって異なります。稼働時間、ハードウェアなどの PC 統計の場合は、作成した Web サイト スクリプトに対してクライアント アプリで http クエリを使用するだけです (たとえば、mypage.com/?uptime=100&ram=2gb&hash=xxxx など)。