我用socket做一个客户端。在模拟器上socket客户端可以完美运行,但放在真机上socket就不能连接。经测试,发觉有些手机可以运行我的socket客户端,有些手机就不能。不明白为什么放在模拟器就能没问题,放在手机上就连不上socket,但它有些手机也可以连上socket。
错误:
java.net.SocketTimeoutException: failed to connect to /115.160.142.210 (port 4902) after 5000ms
at libcore.io.IoBridge.connectErrno(IoBridge.java:159)
at libcore.io.IoBridge.connect(IoBridge.java:112)
error opening trace file: No such file or directory (2)
Refusing to reopen boot DEX '/system/framework/hwframework.jar'
以上就是关键的报错信息,请大家帮我想下这个bug的根本原因在哪里?
真机上的4920端口是不是被其他程序占用了
1换个真机试试确定是程序问题还是机器问题
2.如果是程序问题,可能是权限问题,把权限都附近去,不知道哪些权限的话,从phonegap里面抄,那个里面绝对全面
我知道是什么问题呢,有些手机可以运行,有些手机不能运行,是因为可以运行的手机的wifi与不能运行的手机的wifi是不同。公司有很多wifi,其中只有开着联通的wifi的手机,才能连上socket,电信的wifi就不行了。我想这和联通、电信,设置可以访问的条件有关。
移动网关会封部分端口的,你可以先换一个常用的,例如80端口试一下,如果ok,那肯定是端口被封了。
真的是端口问题,我换到80端口就可以了版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。