我想在 C# 中创建应用程序客户端服务器,但不仅在 LAN 中。这很简单:TcpListener、TcpClient 等。
我想像这样做某事,例如在我的电脑上是正在等待连接的服务器。另一个网络中的某个人有客户端。他开始连接,但是……在哪里……服务器的 IP 是什么?他只看到路由器的ip。
有任何想法吗?:)
编辑
大问题也是双NAT
我想在 C# 中创建应用程序客户端服务器,但不仅在 LAN 中。这很简单:TcpListener、TcpClient 等。
我想像这样做某事,例如在我的电脑上是正在等待连接的服务器。另一个网络中的某个人有客户端。他开始连接,但是……在哪里……服务器的 IP 是什么?他只看到路由器的ip。
有任何想法吗?:)
编辑
大问题也是双NAT
您仍然使用相同的 TcpListener 和 TcpClient(如果您想将其设为低级别)。
通过 WAN 进行通信的技术与通过 LAN 进行通信的技术相同。困难的部分是在客户端和服务器之间建立网络,以允许您使用必要的端口和协议。
听起来您只想在路由器上设置端口转发。当在客户端连接的特定端口上建立传入连接时,路由器应将连接重定向到您在 LAN 上指定的机器。(通常是像 192.168.xx 这样的 IP)。这也应该是您的 TcpListener 正在侦听连接的 IP 地址。
如果您需要帮助为特定路由器设置它,您可以尝试portforward.com 。