默认
发表评论 1
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求助MobileIMSDK安卓心跳时间长了会报错的疑问
阅读(36719) | 评论(1 收藏 淘帖
心跳时间 3s监听本地端口 0
sdk版本 v3.3
异常:就这两种异常,第一种是一直抛,第二种是偶尔,但是也特别频繁
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp: Long monitor contention with owner Thread-160 (12488) at void java.net.DatagramSocket.receive(java.net.DatagramPacket)(DatagramSocket.java:-1) waiters=15 in void java.net.DatagramSocket.receive(java.net.DatagramPacket) for 51.043s
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp: Current owner stack:
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at java.net.DatagramSocket.receive(DatagramSocket.java:-1)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:   - waiting to lock <0x098eb420> (a java.net.DatagramSocket) held by thread 40
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at net.openmob.mobileimsdk.android.core.LocalUDPDataReciever.p2pListeningImpl(LocalUDPDataReciever.java:110)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at net.openmob.mobileimsdk.android.core.LocalUDPDataReciever.access$100(LocalUDPDataReciever.java:36)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at net.openmob.mobileimsdk.android.core.LocalUDPDataReciever$1.run(LocalUDPDataReciever.java:85)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at java.lang.Thread.run(Thread.java:764)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp: Contender stack:
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at java.net.DatagramSocket.receive(DatagramSocket.java:-1)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at net.openmob.mobileimsdk.android.core.LocalUDPDataReciever.p2pListeningImpl(LocalUDPDataReciever.java:110)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at net.openmob.mobileimsdk.android.core.LocalUDPDataReciever.access$100(LocalUDPDataReciever.java:36)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at net.openmob.mobileimsdk.android.core.LocalUDPDataReciever$1.run(LocalUDPDataReciever.java:85)
09-14 21:16:18.201 com.hy.hyapp W/com.hy.hyapp:     at java.lang.Thread.run(Thread.java:764)

and
09-14 21:16:51.520 com.hy.hyapp E/UDPUtils: 【IMCORE】send方法中》》发送UDP数据报文时出错了,原因是:sendto failed: EPERM (Operation not permitted)
                                            java.io.IOException: sendto failed: EPERM (Operation not permitted)
                                                at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:576)
                                                at libcore.io.IoBridge.sendto(IoBridge.java:544)
                                                at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:125)
                                                at java.net.DatagramSocket.send(DatagramSocket.java:721)
                                                at net.openmob.mobileimsdk.android.utils.UDPUtils.send(UDPUtils.java:58)
                                                at net.openmob.mobileimsdk.android.utils.UDPUtils.send(UDPUtils.java:33)
                                                at net.openmob.mobileimsdk.android.core.LocalUDPDataSender.send(LocalUDPDataSender.java:153)
                                                at net.openmob.mobileimsdk.android.core.LocalUDPDataSender.sendKeepAlive(LocalUDPDataSender.java:85)
                                                at net.openmob.mobileimsdk.android.core.KeepAliveDaemon$1$1.doInBackground(KeepAliveDaemon.java:76)
                                                at net.openmob.mobileimsdk.android.core.KeepAliveDaemon$1$1.doInBackground(KeepAliveDaemon.java:67)
                                                at android.os.AsyncTask$2.call(AsyncTask.java:333)
                                                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                                                at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                                                at java.lang.Thread.run(Thread.java:764)
                                             Caused by: android.system.ErrnoException: sendto failed: EPERM (Operation not permitted)
                                                at libcore.io.Linux.sendtoBytes(Native Method)
                                                at libcore.io.Linux.sendto(Linux.java:227)
                                                at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:307)
                                                at libcore.io.IoBridge.sendto(IoBridge.java:542)
                                                at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:125)
                                                at java.net.DatagramSocket.send(DatagramSocket.java:721)
                                                at net.openmob.mobileimsdk.android.utils.UDPUtils.send(UDPUtils.java:58)
                                                at net.openmob.mobileimsdk.android.utils.UDPUtils.send(UDPUtils.java:33)
                                                at net.openmob.mobileimsdk.android.core.LocalUDPDataSender.send(LocalUDPDataSender.java:153)
                                                at net.openmob.mobileimsdk.android.core.LocalUDPDataSender.sendKeepAlive(LocalUDPDataSender.java:85)
                                                at net.openmob.mobileimsdk.android.core.KeepAliveDaemon$1$1.doInBackground(KeepAliveDaemon.java:76)
                                                at net.openmob.mobileimsdk.android.core.KeepAliveDaemon$1$1.doInBackground(KeepAliveDaemon.java:67)
                                                at android.os.AsyncTask$2.call(AsyncTask.java:333)
                                                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                                                at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
                                                at java.lang.Thread.run(Thread.java:764)






Log见附件

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:MobileIMSDK

log.zip

4.74 KB, 下载次数: 0

上一篇:[已回复] 求助MobileIMSDK中的jar包与我的library中jar冲突问题咨询下一篇:开源轻量级IM框架 MobileIMSDK v3.3.1b181124 已发布!
推荐方案
评论 1
你可以详细描述一下,第一种和第二是处于什么情况下出现的。

你可以针对这两种情况,拍个视频,插入手机,连上Android studio的logcat,把这个log输出和手机的表现过程都拍下来,我精确的看看。搞网络通信不能凭感觉,要能量化才有意义。
另外,把你手机的具体android版本、手机型号都贴一贴。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部