使用Java Socket实现广域网通信
感谢你浏览我的问题,情况是这样的,我用Socket和ServerSocket实现了一个局域网通信的程序,最开始时服务端的IP(在我的电脑上)是192.168.2.3,端口号是7788,这个在局域网内的不同机器上可以进行通信。
现在我把服务端移到一台主机上,因为我们实验室有一台主机放着一个网站,所以是24小时开着的,网址我不写了,Socket连接时我使用的是
InetAddress.getByName(/*这里是网址*/);
端口号仍为7788不变。重新编译后,我在主机上运行服务端,正常运行,然后在自己的电脑上运行客户端,连接正常,我使用ping该网址时也没有发生丢包现象。
但是在我寝室的电脑上运行客户端时却无法连接至客户端,提示“连接超时”,并且ping该网址时数据%100丢失,而浏览器仍能打开该网址。
希望我把问题描述清楚了,简单地说,局域网内能连接主机,但外网却不能。
我试过让主机的防火墙允许7788号端口入站,问题仍未解决,希望大家能帮忙想想办法,是不是我还有哪个地方有疏漏?
谢谢!