3

私は現在、過去に行ったいくつかの基本的なゲームをプレイするための単純なサーバー/クライアントをプログラミングしています。

問題は、同じコンピューターにいる間しか接続できず、LAN経由では接続できないことです(機能させたいので)。ここで私が使用しているコードを次に示します。

サーバ:
IPEndPoint Ep = new IPEndPoint(IPAddress.Any, 8000); listener = new TcpListener(Ep); listener.Start();

クライアント:
IPAddress direc = IPAddress.Parse(ipManager); Ep = new IPEndPoint(direc, 8000);

問題は、別のコンピューター (明らかに同じ Wi-Fi に接続されている) から接続しようとすると、次のエラーが表示されることです。

接続先が一定時間後に適切に応答しなかったために接続の試行が失敗したか、接続されたホストが応答しなかったために確立された接続が失敗しました 192.168.0.5:8000

接続しようとすると、これがコードであることも付け加えておきます。

サーバー:
TcpClient client = listener.AcceptTcpClient();

クライアント:
client.Connect(Ep);

どうやら私が接続しているとき、サーバーは接続を「受け入れ」ませんが、その理由を理解できませんでした。

4

2 に答える 2

1

ローカルで動作するため、サーバーのリッスン インターフェイスとして127.0.0.1またはを使用している可能性があります。localhostすべてのインターフェイスでリッスンするように使用0.0.0.0するか、サーバーがリッスンするインターフェイスの IP アドレスを指定してみてください。

于 2012-07-03T21:46:34.053 に答える
1

telnet または netcat を使用してポートに接続してみてください。ポートにアクセスできるかどうかを確認します。

$ nc 192.168.0.5 8000
$ telnet 192.168.0.5 8000
于 2012-07-03T21:28:00.590 に答える