我可以';我不能通过互联网连接到我的服务器
本文关键字:连接 互联网 我的 服务器 不能 我可以 | 更新日期: 2023-09-27 17:47:24
我可以在本地机器上运行服务器,并在同一台机器上连接到它,但当我尝试通过互联网从另一台计算机连接到它时,我的服务器上没有活动迹象,也没有来自我测试它的计算机上的服务器的响应。我已经尝试过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();
}
}
我认为问题出在你的路由器上,而不是你的电脑上。当数据包来自互联网时,应该将其路由到特定的服务器。您必须配置路由器以将端口3326
上的流量重定向到服务器。
您可能有什么东西阻塞了更高级别的连接。尝试从局域网上的另一台主机连接。如果你能做到这一点,那么操作系统本身就不会防火墙连接。
如果你或你的ISP运行NAT路由器,那么你的机器可能没有公共访问地址,在这种情况下,不可能直接连接到它
如果没有NAT路由器,则可能仍然有某种东西阻塞了上游连接。
我是认真的:许多ISP都在积极阻止您将家庭连接用作web服务器。你可能想在投入太多时间之前给他们打电话。
如果您试图在家中主持,您的ISP可能会限制您。