假设我创建了一个客户端 - 服务器应用程序。服务器:Swing app - 客户端:swing app,服务器:swing app - 客户端:android app ...无论如何。一般的想法是:服务器侦听某个端口,你通过套接字建立连接(将服务器的IP地址设置为客户端应用程序),然后将消息从客户端转移到服务器等等......如果客户端和服务器是在同一个网络上。但是如果客户端在不同的网络上,如何指定服务器的IP地址???
答案 0 :(得分:1)
如果客户端和服务器位于不同的网络上(最常见的情况是客户端通过Internet连接到服务器),则网络之间必须有路由器才能相互通信。如果服务器是NAT,则连接到NAT的公共IP,然后NAT连接到服务器。如果NAT本身位于另一个NAT后面,则使用该NAT的公共IP,然后连接到服务器所连接的NAT。等等。换句话说,您不会知道服务器的专用LAN IP,也不需要。您可以使用其公共WAN IP。或者,如果服务器的主机名已分配主机名,则使用服务器主机名解析的任何公共IP。