0

私の友人は、ポート 8484 で TcpListener を開始する単純な C# コンソール アプリケーションを実行しています。

public static void Listen()
{
    Listener = new TcpListener(IPAddress.Any, 8484);
    Listener.Start();
    Listener.BeginAcceptSocket(new AsyncCallback(EndAccept), null);
}

public static void EndAccept(IAsyncResult IAR)
{
    Console.WriteLine("Connection accepted on Port 8484.");
    Socket socket = Listener.EndAcceptSocket(IAR);
    Instance = new Client(socket);
    Listener.Stop();
    Listener = null;
}

私は次を使用して彼に接続します。

public void Connect()
{
    _socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    try
    {
        _socket.Connect(IP, Port);

        Debug.WriteLine("Connected with server!");
    }
    catch (Exception ex)
    {
        Debug.WriteLine(TypeName + " [ERROR] Could not connect to server @ {0}:{1}: {2}", IP, Port, ex.Message);
    }
}

しかし、何らかの理由で、彼は接続を受け入れることができず、応答していないと表示されます。ポート 8484 は、彼のコンピューターで 100% 開いています。

なぜこれが起こるのですか?

4

2 に答える 2

0

ファイアウォールを無効にしてみてください。1


1 - ファイアウォールの問題をテストするためにチャットでユーザーを支援しましたが、開いていません。それには問題があります

于 2013-09-16T18:02:44.533 に答える
0

telnet を使用して、リモート サーバーへの接続を確認します。たとえば、コマンド「telnet ip_address port」を実行します。接続に成功すると、サーバーに到達できます。telnet が接続できない場合、おそらくファイアウォールの問題が原因で、サーバーに到達できません。

于 2013-09-16T17:13:10.427 に答える