Loopback/Localhost问题

Big*_*Bug 2 c# client-server localhost loopback tcpclient

我有关于插座/客户端的问题....

我刚刚用C#编写了一个客户端服务器程序.我想知道,你如何连接到具有不同IP地址的计算机.例如,如果我想在两台不同的机器上单独运行客户端和服务器,则loopback(或使用localhost)将不允许这样....

不太熟悉网络,任何帮助将不胜感激..这是我在客户端的代码处理环回:

TcpClient client = new TcpClient();

IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);
Run Code Online (Sandbox Code Playgroud)

Mer*_*ham 5

您只需要知道服务器的IP地址,并在客户端代码中指定.

您可以通过ipconfig /all在命令提示符下键入来获取IP .请注意,这只会为您提供与本地网络的连接.

如果您尝试通过Internet执行此操作,则需要使用能够找到WAN(广域网)IP地址的服务.你可以谷歌如何做到这一点,因为没有"标准"服务来做到这一点.

如果您有路由器,则需要将端口转发到运行该服务的计算机.查找网络地址转换,查看路由器的文档,或致电技术支持.或谷歌"如何转发端口?".

设置网络后,知道所有连接信息,并假设您正在使用TcpListener:

  • 在服务器端,只需设置你TcpListenerIpAddress.Any.指定您喜欢的任何端口号,该端口号尚未使用(8888).
  • 在客户端,连接到服务器的IP地址.替换IPAddress.Parse("127.0.0.1")8888使用服务器的端口和地址.