Java远程通信

初学者求教:如何实现远程通信呢,我写的例子(c/s)在本机(本机与本机,Socket或RMI)能通信,但是将ip设为远程主机(即想在两台不在局域网的的主机上通信)后访问不了,该如何突破呢?

你写的例子是在一个局域网内的 以c/s的socket通信,比如 192.168.1. 多少 双方在文本栏输入 对方地址就可以相互 传递文字信息或者是压缩文件。如果是这样

要想在两个不同局域网内的地址比如 还是192.168.1之间通信,就是跨网,要用到p2p,而且有一端还是要服务器 ,用它来做为中介打开两边的一个端口,建立一个隧道。

你看 qq吧,它要是没有那么多的服务器它也不行。现在这个java写的功能就和飞鸽传书差不多,飞鸽也是不能这样跨网的。

所以要是这样,你要搞一个外网服务器,和你建立连接,和她也建立连接。难度还是比较大的。

需要检查如下事项:
1. 对方服务器已经开启了服务
2. 对方服务器的ip可达,可以ping一下
3. 使用telnet ip port的方式直接去连对方服务器,看是否可以连接。

第3个能连表示你的应用也能连,就可以排除网络方面的故障。
否则需要检查防火墙等设置。

有可能是对方服务器防火墙,你登录对方服务器,telnet localhost port 试试看。