我的朋友运行一个简单的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%打开。
为什么会这样?
答案 0 :(得分:0)
使用telnet验证与远程服务器的连接。例如。运行命令“telnet ip_address port”。如果成功连接,则可以访问服务器。如果telnet无法连接,则可能由于防火墙问题而无法访问服务器。
答案 1 :(得分:0)
尝试禁用防火墙。 1
1 - 帮助用户进行聊天以测试防火墙问题,但尚未打开。这有问题