android socket通信 模拟器可以 真机不行 是防火墙的原因
16lz
2021-01-26
=============================================================================================================
从网上找了个例子,没有设置wifi时程序正常,pc上运行java程序作为服务器,模拟器上运行java作为客户端,服务器ip为pc的ip。
pc系统为windows7,使用connectify-me设置wifi后,使用手机连接wifi,不能连接。
据说,是因为分享网络设置wifi热点后端口号会发生变化,具体情况不清楚。
后来发现在没有wifi时模拟器和pc公用一个网卡,ip是相同的。
打算回去后,将pc和手机都连接到路由器的wifi上测试一下。
=================================================================================================================
之前在开源社区提出这个问题(www.oschina.net/question/1537697_149032),这位老师回答的很对,我在宿舍里用360wifi又试了一次,只是这次把防火墙关掉了,就可以了。
1、首先要保证可以ping通;
2、然后保证isReachable返回true(我认为这是为了保证java发送的包是可以被接受到的);
3、然后要保证发送的socket可以通过而不被防火墙屏蔽掉。
这里的防火墙是指windows防火墙,我后来发现360安全卫士开着的时候也可以通信
更多相关文章
- Android(安卓)高级控件(一)
- Android(安卓)Studio下添加assets目录
- Android基于HttpUrlConnection类的文件下载实例代码
- Paint常用方法介绍
- Eclipse下Android编程代码自动提示
- android输入框只能输入数字和小数点
- Android学习札记7:ProgressBar水平进度条的颜色设置
- Linux下搭建Android开发环境
- android 3D-纹理------球的纹理