1

LANだけでなく、C#でアプリクライアントサーバーを作成したい。簡単です: TcpListener、TcpClient など。

この例のように sth を作成したいのですが、私のコンプには接続を待っているサーバーがあります。別のネットワークの誰かがクライアントを持っています。接続を開始するが…どこで…サーバーのIPは?彼はルーターのIPしか見ていません。

何か案は?:)

編集

大きな問題も二重NATです

4

3 に答える 3

1

あなたの質問はシナリオ全体を説明していません..しかし、問題を理解しているので、次の答えを提案できます: ターゲットの顧客ベースの場所 (企業ネットワークのサポートまたはサポートなし) に応じて、UPnPなどのさまざまなルーティングオプションを使用できます。スタントまたはIPv6、またはその他の NAT トラバーサル オプションを使用して、リスナーの場所をクライアントに通知できます。Listener がその場所とその環境で許可されている通信モードを通知する中央レジストリ サーバーが常に存在する必要があります。XMPP サーバーの使用は、このような目的では簡単なオプションであり、そのような問題のほとんどを解決します。クライアントは、ディスカバリ サーバーからリスナーの場所を照会すると、リスナーに直接接続できます。

于 2010-09-01T13:29:20.567 に答える
1

同じ TcpListener と TcpClient を引き続き使用します (それを低レベルにしたい場合)。

WAN を介した通信のテクノロジは、LAN を介した通信のテクノロジと同じです。難しいのは、必要なポートとプロトコルを使用できるように、クライアントとサーバーの間にネットワークを構築することです。

于 2010-09-01T12:50:35.833 に答える
0

ルーターでポート転送を設定したいだけのようです。クライアントが接続する特定のポートで着信接続が確立されると、ルーターはその接続を LAN 上の指定したマシンにリダイレクトする必要があります。(通常は 192.168.xx のような IP)。これは、TcpListener が接続をリッスンしている IP アドレスでもある必要があります。

特定のルーターの設定についてサポートが必要な場合は、portforward.comを試すことができます。

于 2010-09-01T14:35:42.307 に答える