Android开发——本机Tomcat搭建服务器,客户端socket网络连接不上问题以及D-LINK端口转发设置
2015-05-24 14:09
811 查看
我是用自己的电脑搭建服务器,首先问题是我们需要在路由器上端口映射,外网才能访问到自己的电脑,如何端口映射可以看看这篇文章:
http://blog.csdn.net/zhoubin1992/article/details/45917775
一、D-LINK端口转发设置
我的是D-link如图:
名称写你客户端的名称。
IP地址:路由器给本机分配的IP地址,一般以192.168开头。查询方法:cmd下ipconfig
填写私有端口就是路由器需要打开的端口,也可以设置一个区间
公共端口的就是外网要访问的端口。
通信量类型选任意就好了。
二、socket通信程序出错
执行到Socket socket=new Socket("xx.xx.xxx.xxx",8888);就抛异常。报timeout错误。
原因就是客户端连接不上socket。
解决方法:
1、首先确定另开一个线程完成网络连接。
2、这样还是不行,最后在StackOverflow里找到了答案,还需要在OnCreate中开启StrictMode
这时可以通信了,但是当我用自己的3G流量访问时,又出现了问题。查阅后发现是socket本机IP的问题。
本机还有个外网IP,获得方法:在百度上填写本机IP,出现的就是本机的真实IP。
然后把Socket("xx.xx.xxx.xxx",8888);的IP替换就好了~
http://blog.csdn.net/zhoubin1992/article/details/45917775
一、D-LINK端口转发设置
我的是D-link如图:
名称写你客户端的名称。
IP地址:路由器给本机分配的IP地址,一般以192.168开头。查询方法:cmd下ipconfig
填写私有端口就是路由器需要打开的端口,也可以设置一个区间
公共端口的就是外网要访问的端口。
通信量类型选任意就好了。
二、socket通信程序出错
执行到Socket socket=new Socket("xx.xx.xxx.xxx",8888);就抛异常。报timeout错误。
原因就是客户端连接不上socket。
解决方法:
1、首先确定另开一个线程完成网络连接。
new Thread(){ public void run(){ try{//连接网络并打开流 s = new Socket("110.83.75.12", 8888); dout = new DataOutputStream(s.getOutputStream()); din = new DataInputStream(s.getInputStream()); }catch(Exception e){//捕获异常 e.printStackTrace();//打印异常 }
2、这样还是不行,最后在StackOverflow里找到了答案,还需要在OnCreate中开启StrictMode
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects() .penaltyLog() .penaltyDeath() .build()); }我也不知道为什么要加严苛模式,有人知道的话留言告诉我吧。
这时可以通信了,但是当我用自己的3G流量访问时,又出现了问题。查阅后发现是socket本机IP的问题。
本机还有个外网IP,获得方法:在百度上填写本机IP,出现的就是本机的真实IP。
然后把Socket("xx.xx.xxx.xxx",8888);的IP替换就好了~
相关文章推荐
- Android socket和Tomcat等网络连接不上问题解决方案
- 关于Tomcat搭建服务器需要80端口问题的解决方案以及80端口被NT KERNEL & SYSTEM ,pid4占用解决方法
- Android客户端,PC服务器,Socket连接所遇到的问题
- Android通过webservice连接SQLServer 详细教程以及所遇到的问题解答(数据库+服务器+客户端)
- socket的accept函数解析以及服务器和多个客户端的端口问题
- socket的accept函数解析以及服务器和多个客户端的端口问题
- Ubuntu系统中MySQL服务器搭建,用户设置权限,以及允许网络访问
- android网络开发之测试机连接到服务器上面
- Android简单实现Socket通信,客户端连接服务器后,服务器向客户端发送文字数据
- TCP客户端和服务器多个socket连接的问题求助
- Android客户端 和 pc服务器 建立socket连接并发送数据
- 阿里云服务器连接以及centos 搭建 web java环境(linux java部署 tomcat部署)
- 手机客户端android网络不稳定而导致asmack不能自动重连接openfire的问题
- Android网络(3):HttpClient作客户端,Tomcat Servlet作服务器的交互示例
- apache转发客户端端口到tomcat的配置 以及 apache日志格式的配置
- Android网络(3):HttpClient作客户端,Tomcat Servlet作服务器的交互示例
- Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍
- apache转发客户端端口到tomcat的配置 以及 apache日志格式的配置
- [安卓笔记]android客户端向tomcat服务器发送请求中文乱码问题解决
- Unity(C#.net)网络通信问题解决(服务器开启失败,Socket下的“由于目标机器积极拒绝,无法连接”异常)