Android Socket访问外网IP 失败 求教

问题描述

现在有两个java程序,一个运行在服务器端,一个运行在客户端:在局域网的时候将两段程序中的xxx.xxx.xxx.xxx都设定为服务器的IP时程序能够正常运行。现在将服务器端的程序运行在局域网的一台服务器上,这台服务器对应两个IP,一个是内网的IP10.22.60.28,一个是外网的IP210.52.23.14,通过外网IP访问这台服务器时要经过NAT转换,换成10.22.60.28再访问。问题:客户端程序运行在外网的一台主机上,想将客户端xxx.xxx.xxx.xxx设为210.52.23.14来与服务器上的程序建立连接,但服务端没有反应,请高手指导一下!服务器端:packagecom.server;importjava.net.*;importjava.io.*;publicclassMyServer{publicstaticvoidmain(Stringargs[]){ServerSocketserverSocket=null;Socketsocket=null;StringinputLine=null;try{InetAddressaddress=InetAddress.getByName("xxx.xxx.xxx.xxx");//本地IPserverSocket=newServerSocket(61008,50,address);socket=serverSocket.accept();System.out.println(socket.toString());PrintWriterout=newPrintWriter(socket.getOutputStream(),true);BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream()));while((inputLine=in.readLine())!=null){System.out.println(inputLine+"1231");}out.close();in.close();socket.close();}catch(Exceptione){System.out.println(e);}}}客户端:packagecom.client;importjava.io.*;importjava.net.*;publicclassMyClient{publicstaticvoidmain(String[]args)throwsIOException{SocketkkSocket=null;PrintWriterout=null;BufferedReaderin=null;try{kkSocket=newSocket("xxx.xxx.xxx.xxx",61008);//指定要连接的公网IP地址及端口号。out=newPrintWriter(kkSocket.getOutputStream(),true);in=newBufferedReader(newInputStreamReader(kkSocket.getInputStream()));out.println("hello");in.close();out.close();kkSocket.close();}catch(UnknownHostExceptione){System.err.println("Don'tknowabouthost:taranis.");System.exit(1);}}}

解决方案

解决方案二:
最近也在研究这个,帮顶。
解决方案三:
该回复于2012-03-06 13:50:27被版主删除
解决方案四:
问题解决了吗,也碰到同样问题
解决方案五:
这个你内网需要做个端口映射的啊,在网关做映射,不然,你外网的客户端,怎么找得到内网中指定的服务器。。
解决方案六:
内网需要做个端口映射的啊,在网关做映射,
解决方案七:
映射,域名访问
解决方案八:
引用4楼的回复:

这个你内网需要做个端口映射的啊,在网关做映射,不然,你外网的客户端,怎么找得到内网中指定的服务器。。

这个有道理。。。
解决方案九:
给楼主推荐个软件吧,花生壳,专门解决映射问题的,楼主可以去试一试…
解决方案十:
++引用4楼的回复:

这个你内网需要做个端口映射的啊,在网关做映射,不然,你外网的客户端,怎么找得到内网中指定的服务器。。

解决方案十一:
我也在找这个东子,怎么映射!楼主说说怎么弄啊!
解决方案十二:
确实是,把局域网里的服务器开放的端口用路由映射到外网地址上去就ok了
解决方案十三:
怎么映射的啊,请问楼主实现了吗?我现在也遇到了这样的问题啊

时间: 2024-08-21 13:03:34

Android Socket访问外网IP 失败 求教的相关文章

android获取wifi外网ip的方法

android获取wifi外网ip的方法 // 获取外网IP   public static String GetNetIp() {       URL infoUrl = null;       InputStream inStream = null;       try {           // http://iframe.ip138.com/ic.asp           // infoUrl = new URL("http://city.ip138.com/city0.asp&qu

js获取客户端外网ip的简单实例_javascript技巧

var wwip=""; $(function(){ $(document).ready( function() { $.getJSON( "http://smart-ip.net/geoip-json?callback=?", function(data){ alert( data.host); wwip=data.host; } ); }); }); 这个问题查了很多资料,都不可以,这个还好用. 例子,js获取本地与外网IP地址. <script lang

路由器-Android 局域网IP对讲机如何扩展成为外网IP对讲?

问题描述 Android 局域网IP对讲机如何扩展成为外网IP对讲? 现在的架构是:Android设备2台,路由器一个. 1.双方使用socket开启端口监听网络的音频数据. 2.填写对方IP(路由器下的内网) 3.发送音频数据到对方端口.IP+port 现在希望可以扩展成为不在一个路由器下进行通讯. 解决方案 在公网建立服务器,负责转发.双方都和公网连. 解决方案二: 看过NAT打洞技术.希望做成P2P的连接方式.但是目前还不知道进行Session分配的端口怎么获取.不知道这个端口通过什么样的

webservice-Webservice访问的外网ip和host不一直

问题描述 Webservice访问的外网ip和host不一直 我部署了一个内网ip为: http://172.16.16.41:20002/ 的webservcie站点,然后映射了一个外网端口地址:http://116.228.231.198:20002. 用外网地址访问之后,单击调用之后地址栏的ip地址就变成内网ip了. 请问需要怎么设置让两者能一直. 外网地址:http://116.228.231.198:20002/WebService.asmx?op=ptltest 解决方案 配置end

固定ip 掉线-奇怪现象:固定IP经常外网掉线,从内网访问外网后自动恢复

问题描述 奇怪现象:固定IP经常外网掉线,从内网访问外网后自动恢复 电信光纤带4个固定IP,通过光纤猫至交换机后,两台服务器使用其中两个固定IP,一台windows 2008,一台ubuntu 12.04. 如服务器一段时间与外网没有通信,从外网就无法访问两台服务器,但直接从机房登录服务器能访问外网,只要向外网发送数据包后(如ping 外网地址),即恢复至能从外网访问. 已经排除机器体眠和交换机故障.请高人解释!

网络-ubuntu系统可以不可以实现单网卡或者多网多ip同时访问外网的配置

问题描述 ubuntu系统可以不可以实现单网卡或者多网多ip同时访问外网的配置 研究Ubuntu网络设置,使得在不同网络配置条件下,每个网卡均可访问外网,并且不影响组播通信.包含网卡IP相同网段.不同网段,划分子网.未划分子网等多种情况:求帮助新手.... 解决方案 如果你的Ubuntu是有界面的,在网络的Edit Connection里面,IPV4 Settings和IPV6 Settings下的Addresses可以添加不同的IP,在下面一点还有Routes可添加和设置路由. 解决方案二:

网站-救命……域名能ping通 ip 能访问 外网域名无法访问 服务器自己用域名可以访问 wamp环境

问题描述 救命--域名能ping通 ip 能访问 外网域名无法访问 服务器自己用域名可以访问 wamp环境 网络上各种答案各种配置都改烂了一点效果没有 不要怀疑我的毅力 一天了 具体情况是 ping域名能返回正确的服务器ip 浏览器用ip地址可以看到正确的内容 浏览器用域名只返回Bad Request 不是电脑问题 其他人访问也一样 服务器环境为wamp 改遍了所有apache绑定域名的方法没有一点效果 服务器自己访问域名可以看到正确的内容 没有在服务器上设置localhost文件 服务器系统为

windows2003系统服务器上用IIS发布ASP.NET(C#)项目局域网IP访问正常,用固定外网IP访问就访问不到

问题描述 在服务器上用IIS发布一个(C#)ASP.NET项目局域网访问一切正常但是用固定的外网IP访问却提示该页无法显示请问这是什么原因啊希望能有详细的解决方法都折磨我1天啦在网上找啦很多办法都没解决老板又不停的吹希望大家帮忙快点解决哦 解决方案 解决方案二:可能是dns服务器配置有问题解决方案三:公司局域网里用的都是私有地址外网当然访问不了你服务器配置个公网的ip地址就可以访问了解决方案四:但是公司有个外网的FTP是可以访问的我用IIS发布却不行我看网上邻居里面也就一个本地连接

服务器-java socket 在外网和内网传输问题

问题描述 java socket 在外网和内网传输问题 今天写了一个java Socket的客户端和服务器端程序,在局域网环境中,客户端和服务端能够互相发送数据. 后来想把服务端的ip用Nat123映射出去,用客户端连接服务端映射出来的域名和端口结果服务端能接收客户端的数据,但客户端接收不了服务端的数据,本人百思不得其解,想请高手帮忙解答,本人感激不尽. 解决方案 楼主,我以前也和你做过同样的东西.当时我还研究了nat打洞.然而到最后我花了8块钱注册一个花生壳的内网版,结果就成了.而且其实自己映