1

こんにちは、チャット クライアントをサーバーに接続しようとしていますが、エラーが発生し続けます。インターネットで公開されているマシンで実行されているチャット サーバーがあり、IP アドレスが固定されており、ポート 5001 で実行されています。チャット クライアントがそのサーバーに接続しようとすると、エラーが発生します。次のようにエラーが発生している行

    ipAddr = IPAddress.Parse(txtIp.Text);
    // Start a new TCP connections to the chat server
    tcpServer = new TcpClient();
    tcpServer.Connect(ipAddr, 5001);

ローカル マシン IP を使用してローカル マシンでチャット クライアントとサーバーの両方を実行すると、動作します。チャット サーバーとクライアントの両方がインターネット経由で通信できるようになったため、コードを変更する必要があることを教えてください。ありがとう

4

1 に答える 1

1

固定IPは、最初にコンピューターのネットワークを通過する場合は十分ではない可能性があります。単純なネットワークの場合、またはより複雑な場合は、ポートを転送する必要があります。おそらく、独自の直接回線がありますが、ポートが閉じているため、システム内およびトラフィックをフィルタリングできるハードウェア内でファイアウォールを介してポートを開く必要があります。

おそらくコードの問題ではありません。

同様に、サーバーソケットを作成するときは、IPAddress.Anyにバインドしてみてください。これは、特定のデバイスにバインドすると、問題の原因になる可能性があるためです。

于 2012-04-20T14:12:26.933 に答える