我可以在我的本地计算机上运行服务器并在同一台计算机上连接它,但当我尝试通过Internet从另一台计算机连接到它时,我的服务器上没有活动的迹象,也没有来自服务器的响应在计算机上我正在测试它.我试过XP和Vista,关闭防火墙,打开端口,以管理员身份运行; 什么都没有用.:(
这是我用来接受传入连接的代码:
int port = 3326; Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { TcpListener listener = new TcpListener(new IPEndPoint(IPAddress.Any, port)); listener.Start(); Console.WriteLine("Server established\nListening on Port: {0}\n", port); while (true) { socket = listener.AcceptSocket(); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, outime); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.KeepAlive, true); socket.DontFragment = true; NewConnection pxy = new NewConnection(socket); Thread client = new Thread(new ThreadStart(pxy.Start)); client.IsBackground = true; client.Start(); } }
我认为问题出在您的路由器上,而不是您的计算机上.数据包来自Internet时,应将其路由到特定服务器.您必须配置路由器以将端口3326
上的流量重定向到您的服务器.