我想在C#中创建app客户端 - 服务器,但不仅仅是在LAN中。它很简单:TcpListener,TcpClient等。
我想在这个例如...... 在我的comp上是等待连接的服务器。 另一个网络中有人有客户端。他开始连接,但......哪里......什么是服务器的IP? 他只看到路由器的ip。
有什么想法吗? :)
修改
大问题也是双NAT
答案 0 :(得分:1)
你仍然使用相同的TcpListener和TcpClient(如果你想让它低级别)。
通过WAN进行通信的技术与通过LAN进行通信的技术相同。困难的部分是让客户端和服务器之间的网络允许您使用必要的端口和协议。
答案 1 :(得分:1)
你的问题没有解释整个场景..但是我对这个问题的理解我可以建议以下答案: 根据目标客户群的位置(对企业网络的支持或不支持),您可以使用各种路由选项,如UPnP,STUNT或IPv6,或其他一些NAT遍历选项,以便您可以告知客户端监听器的位置。应始终有一个中央注册服务器,监听器将通知其中所在位置以及其环境中允许的通信模式。对于此类目的,使用XMPP服务器将是一个简单的选择,可以解决大多数此类问题。一旦客户端从发现服务器查询监听器的位置,它就可以直接连接到监听器。
答案 2 :(得分:0)
听起来您只想在路由器上设置端口转发。当客户端连接到的特定端口上建立传入连接时,路由器应将连接重定向到您在LAN上指定的计算机。 (通常是类似192.168.x.x的IP)。这也应该是您的TcpListener正在侦听连接的IP地址。
如果您需要为特定路由器设置帮助,可以尝试portforward.com。