C# 使用TCP侦听器/套接字从一台计算机连接到另一台计算机上的服务器
我有一个简单的服务器,我可以在一台计算机上运行,一个简单的聊天客户端可以连接到它。当我在本地运行服务器时,我也可以从本地的客户端连接到服务器。问题是我似乎无法从另一台计算机上的客户端连接到服务器 客户端的一些示例代码:C# 使用TCP侦听器/套接字从一台计算机连接到另一台计算机上的服务器,c#,sockets,tcp,network-programming,server,C#,Sockets,Tcp,Network Programming,Server,我有一个简单的服务器,我可以在一台计算机上运行,一个简单的聊天客户端可以连接到它。当我在本地运行服务器时,我也可以从本地的客户端连接到服务器。问题是我似乎无法从另一台计算机上的客户端连接到服务器 客户端的一些示例代码: static string ipAddr = "<server local IP address>"; static Int32 port = 4296; static System.Net.Sockets.TcpClient tcpClient = new Syst
static string ipAddr = "<server local IP address>";
static Int32 port = 4296;
static System.Net.Sockets.TcpClient tcpClient = new System.Net.Sockets.TcpClient();
tcpClient.Connect(IPAddress.Parse(ipAddr), port);
服务器正在以类似的方式在同一端口上创建连接,但本地主机IP127.0.0.1
,以供参考
我曾尝试在路由器(TCP)上转发端口,并在防火墙中打开TCP的入站和出站端口(我知道这是不可持续的——只是目前尝试让它工作)
我很有信心,问题是远程客户端看不到服务器,但在端口上执行netstat表示它在服务器运行时正在侦听,而在本地客户端连接时正在运行。通过Canyouseeme检查端口实际上表明端口未打开,因此我是否以某种方式错误地转发了端口
有什么建议吗?非常感谢
服务器正在以类似的方式在同一端口上创建连接,但在本地主机IP 127.0.0.1上,以供参考
服务器已绑定到环回地址。所以,当您从和服务器在同一台机器上运行的客户机进行连接时,连接就成功了。如果客户端位于服务器的计算机外部,则无法连接到另一台计算机上127.0.0.1上的服务器
将服务器绑定到可从客户端访问的有效IP地址 早些时候就发现了这一点,但没有机会更新帖子。这正是问题所在。非常感谢你的回答,朋友。
An unhandled exception of type 'System.Net.Sockets.SocketException occurred in System.dll
Additional information: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.