您的位置:首页 > 移动开发 > Android开发

android socket通信 模拟器可以 真机不行 是防火墙的原因

2014-03-29 00:00 441 查看
=============================================================================================================

从网上找了个例子,没有设置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安全卫士开着的时候也可以通信
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息