开发者社区> 问答> 正文

android:真机上socket连接不上,但模拟器上运行完美?报错

我用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的根本原因在哪里?

展开
收起
爱吃鱼的程序员 2020-06-22 18:19:39 1402 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    真机上的4920端口是不是被其他程序占用了

    1换个真机试试确定是程序问题还是机器问题

    2.如果是程序问题,可能是权限问题,把权限都附近去,不知道哪些权限的话,从phonegap里面抄,那个里面绝对全面

    我知道是什么问题呢,有些手机可以运行,有些手机不能运行,是因为可以运行的手机的wifi与不能运行的手机的wifi是不同。公司有很多wifi,其中只有开着联通的wifi的手机,才能连上socket,电信的wifi就不行了。我想这和联通、电信,设置可以访问的条件有关。


    端口被封了。。没开。。。。。我的问题解决了,是网络问题,电信的wifi是使客户端访问不了服务端的,只有联通的wifi才行。
    <atarget="_blank"rel="nofollow">http://my.oschina.net/JumpLong/blog/75571不知道楼主解决了没有,我现在也是遇到和你一样的问题解决了,我不是有回贴么

    移动网关会封部分端口的,你可以先换一个常用的,例如80端口试一下,如果ok,那肯定是端口被封了。

    真的是端口问题,我换到80端口就可以了

    2020-06-22 18:19:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载