默认
发表评论 1
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] 有关mobileIMSDK的启动类的EventLoopGroup设置疑问?
ServerLauncher类中配置了netty4服务端[size=15.0667px]相关的[size=15.0667px]内容,再看源码的时候发现针对服务端设置的__workerGroup4Netty是采用的DefaultEventLoopGroup这个类,但是在之前看netty的demo的中该实现类一般是NioEventLoopGroup,由于这个[size=15.0667px]DefaultEventLoopGroup类对应的具体事件轮询类是[size=15.0667px]DefaultEventLoop这个类和NioEventLoop有什么区别呢?源码里面对于MBUDPChannel中的isCompatible方法里面设置了对于EventLoop类型的判断。[size=15.0667px]DefaultEventLoop的源码很简单,[size=15.0667px]NioEventLoop就很复杂了,那么对于业务线程池的选用为什么选用[size=15.0667px]DefaultEventLoop这点不是很清楚?是处于性能优化方面的考虑还是别的什么呢?

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

上一篇:[已回复] 求助为什么MobileIMSDK的客户端登录后就马上离线了??下一篇:[已回复] MobileIMSDK在2G网络下能流畅使用吗?
推荐方案
评论 1
如果你用MINA就知道,MINA里针对UDP的代码封装,是有个“会话”的概念的,虽然udp是无连接的,这个“会话”也是虚的,但这对于长连接编程时连接的管理非常方便。

而netty的设计者为了回归到udp的本质(说白了就是基本没给udp的编程提供太多便利,只是简单的对java的原生udp api做了一点点封装而已),所以对于udp长连接编程来说非常不友好,而MobileIMSDK的netty服务端是仿照mina的思路,替netty框架再造了个“会话”的概念,这样才实现了现在的框架及连接管理模型。所以你看到的并非官方demo里演示过的,这个“会话”的具体实现也基本上符合netty的tcp的连接模型,所以你看到的跟netty的tcp很像,反而跟官方的udp demo一点也不像了,所以不要照搬官方那简陋的demo,因为比它复杂多了
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部