我在家里,在本地网络上测试我的套接字程序 .
服务器和客户端程序在单独的计算机上运行 .
服务器程序套接字绑定为:serverSocket.Bind(new IPEndPoint(IPAddress.Parse(“127.0.0.1”),8999));
客户端程序(在另一台计算机上)连接为:clientSocket.Connect(IPAddress.Parse(“192.168.2.3”),8999);
为什么客户端无法与服务器通信?我是否需要进行一些防火墙配置或类似的东西?或者我是否错误地将Server Ip写入客户端? (我是从服务器的cmd-> ipconfig获得的)
2 回答
您只绑定到本地127.0.0.1 IP,因此您的服务器只能从同一台计算机访问 . 请尝试以下方法:
serverSocket.Bind(new IPEndPoint(IPAddress.Any),8999));
因为您的服务器绑定到localhost环回地址
127.0.0.1.
这意味着没有 except what's running on the server 可以与套接字通信 .你需要:
验证服务器与客户端在同一子网上有网络连接(
192.168.2.0
或192.168.0.0
) - 将其称为"public" IP地址将您的套接字绑定到服务器的"public" IP地址或将套接字绑定到所有接口 - 通常使用特殊IP地址
0.0.0.0