默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 求助MobileIMSDK-UDP版客户端SDK代码中异步收发、阻塞的疑问
阅读(34315) | 评论(5 收藏 淘帖
udpserver\client运行在本机 ,客户端 LocalDataReciever/LocalDataSender 接收与发送 多线程运行时, 发送线程会阻塞在 ds.connect(InetAddress.getByName(ConfigEntity.serverIP), ConfigEntity.serverPort);1. 请问有什么方式能让其异步收发?  2. 有没有netty udp client 完整示例?

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

上一篇:[已回复] 请问MobileIMSDK在性能提升方面做了哪些优化?下一篇:[已回复] 求教基于MobileIMSDK的IM万人群聊,实现消息合并推送的疑问
推荐方案
评论 5
会阻塞?

不如这么说:
1)你遇到的问题具体是什么情况?(不用具体到代码,就说你遇到的情况)
2)需要实现的是什么功能?

实际上,标准Java的DatagramSocket中的connect方法只是向服务器发送一个ICMP包(就是你平时ping命令时发出的那玩意),而且是不需要等待返回值的,理论上应该不会阻塞(准确地说我平时没有在意这个是不是阻塞,但不管是不是阻塞因为它并没有影响我编码的其它逻辑,所以不清楚你具体遇到什么问题?)。
服务器与客户端在同一台机。没法同时收 发 消息,感觉阻塞了一样。 然后我把客户端放在另一台局域网机器, 两个线程 可以正常收发。
引用:JackJiang 发表于 2021-07-02 14:54
会阻塞?

不如这么说:

服务器与客户端在同一台机。没法同时收 发 消息,感觉阻塞了一样。 然后我把客户端放在另一台局域网机器, 两个线程 可以正常收发。
引用:ltwoini 发表于 2021-07-02 15:59
服务器与客户端在同一台机。没法同时收 发 消息,感觉阻塞了一样。 然后我把客户端放在另一台局域网机器 ...

同一台机肯定没问题的,因为代码本身没什么复杂的,而且我开发的时候也只有一台机器直接调试,懒得弄多台。同一台的问题,或许别有原因,如果有必要,你可以深究一下
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部