0

我的朋友运行一个简单的 C# 控制台应用程序,它在端口 8484 上启动一个 TcpListener。它是这样完成的:

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

使用 telnet 验证与远程服务器的连接。例如运行命令“telnet ip_address port”。如果它成功连接,那么您可以访问服务器。如果 telnet 无法连接,则您无法访问服务器,可能是由于防火墙问题。

于 2013-09-16T17:13:10.427 回答
0

尝试禁用防火墙。1


1 - 帮助聊天中的用户测试防火墙问题,但尚未打开。那有问题

于 2013-09-16T18:02:44.533 回答