A. 局域网主机如何通过socket访问外网服务器

socket通信程序是支持局域网服务器间通信,他本身就是一个局域网服务器间通信程序,他不支持外部公网,所以你想这样访问的话,无法实现,除非你用共有的网络端口访问,或者影射过去,这样才可以达到效果,

B. java中Socket通信问题:Socket通信是不是只能在局域网中用

如果服务器是单机上网 那你需要知道的是服务器在nternet网上的地址
服务器访问http://www.ip138.com/ 就看得出来 假设是58.100.15.199
那你修改192.168.209.1为 58.100.15.199 就可以了

如果服务器在局域网里 通过路由器上网的

那你是不能直接连接到局域网的服务器上的
那你得在路由器里设置端口映射 设置端口1234端口 映射到 192.168.209.1 1234端口

那样的话 然后同样方法获取到路由器在外网的IP 你socket连接这个路由器外网IP即可

实际上,很多上网时动态IP的,你可以安装花生壳之类的软件。获取动态IP
客户端解析花生壳域名就能得到服务器IP。很多路由器自带动态域名支持。

C. 在局域网内的电脑怎么与外网的电脑建立Socket

解决方法复
1、重要的配置制都需要在被控端设置,首先打开计算机-属性,在,点击左边的远程设置,选择如下图的设置
2、接下来是突破外网最重要的一步就是端口映射,登陆路由器,在转发规则-虚拟服务器中实现端口映射,我们被控端的ip和端口填上,这里的端口是3389,ip为本机ip,协议为all,填写好后保存。这个端口是实现远程控制必须要用的端口。
3、最后所以一切搞定后,在控制端打开远程桌面连接,输入被控端的公网ip,这时候,就能通过对方设置的端口映射,成功突破内网,远程连接到对端的桌面了