对于 TCP 来说局域网和广域网不是一样嘛。
只要给个 IP 地址就行了。至于如何连接到那机器,那是路由器管理与配置的问题,跟我们编程没什么关系。
比如你家和公司各有一个路由器,各有一台电脑在对应的路由器后面连接着,那你需要在两台路由器上各创建一个 NAT,比如:
家->公司:VNC,公司->家:3389远程桌面,那你在公司的路由器上创建一个 NAT 把 5900 端口转发到公司PC:5900 端口,这样家里就能访问公司PC的 VNC 服务器了,对应地在家的路由器创建 NAT 把 3389 端口转发到家PC:3389 端口上,那从公司就可以直接访问家PC的远程桌面了。
这一切都是网络管理路由器的配置工作,跟编程没有关系。
追问客户端的路由需要配置,意味着安装需要派遣专业人员。
可是QQ和网游是怎么做到,安装就能使用的呢?
追答像网游只需要服务器端配置就行了,因此只有客户端连接服务器,没有服务器连接到客户端。QQ一般的聊天也是这样的,另外当 QQ 发现两个在同个局域网的人想传送文件,它会告诉彼此对方的局域网 IP 然后叫他们俩直接在局域网传送文件。而在公网上传送就不能这样,只能中传一下,就是让俩人都连接到服务器然后服务器把两个客户端串接起来。
追问能不能理解为,QQ的服务器端只使用ServerSocket,客户端只使用Socket连接服务器。
在这种情况下,只需要配置服务端的路由器就行了?