首页 文章

C#中的套接字通信 - IP端口

提问于
浏览
1

我在家里,在本地网络上测试我的套接字程序 .

服务器和客户端程序在单独的计算机上运行 .

服务器程序套接字绑定为: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 回答

  • 2

    您只绑定到本地127.0.0.1 IP,因此您的服务器只能从同一台计算机访问 . 请尝试以下方法:

    serverSocket.Bind(new IPEndPoint(IPAddress.Any),8999));

  • 3

    因为您的服务器绑定到localhost环回地址 127.0.0.1. 这意味着没有 except what's running on the server 可以与套接字通信 .

    你需要:

    • 验证服务器与客户端在同一子网上有网络连接( 192.168.2.0192.168.0.0 ) - 将其称为"public" IP地址

    • 将您的套接字绑定到服务器的"public" IP地址或将套接字绑定到所有接口 - 通常使用特殊IP地址 0.0.0.0

相关问题