我有一个关于套接字/客户端的问题....
我刚刚用 C# 编写了一个客户端服务器程序。我想知道,您如何连接到具有不同 IP 地址的计算机。例如,如果我想在两台不同的机器上分别运行客户端和服务器,环回(或使用本地主机)将不允许这样做....
不太熟悉网络,任何帮助将不胜感激..这是我在客户端处理环回的代码:
TcpClient client = new TcpClient();
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8888);
最佳答案
您只需要知道服务器的 IP 地址,并在客户端代码中指定即可。
您可以通过在命令提示符下键入 ipconfig/all
来获取您的 IP。请注意,这只会为您提供与本地网络的连接。
如果您尝试通过 Internet 执行此操作,则需要使用一种服务来查找您的 WAN(广域网)IP 地址。您可以通过谷歌搜索如何执行此操作,因为没有“标准”服务可以执行此操作。
如果您有路由器,则需要将端口转发到运行您的服务的机器。查找Network Address Translation ,并查看路由器的文档,或调用技术支持。或者谷歌“我如何转发端口?”。
一旦你设置了你的网络,并且知道你所有的连接信息,假设你正在使用 TcpListener
:
- 在服务器端,只需使用
IpAddress.Any
设置您的TcpListener
.指定您喜欢的任何尚未使用的端口号 (8888
)。 - 在客户端,连接到服务器的 IP 地址。将
IPAddress.Parse("127.0.0.1")
和8888
替换为服务器的端口和地址。
关于c# - 环回/本地主机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7508942/