请选择 进入手机版 | 继续访问电脑版

默认
发表评论 2
[已解决] RainbowChat服务端MobileIMSDKServerX_mina.jar是否可直接替换XX_netty.jar
MobileIMSDKServerX_mina.jar 包是否可以直接替换MobileIMSDKServerX_netty.jar

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

标签:RainbowChat
上一篇:[已回复] 如何用jetbrains 启动RainbowChatServer项目下一篇:[已回复] MobileIMSDK v3.3 demo运行求助

本帖已收录至以下技术专辑

推荐方案
评论 2
RainbowChat的服务端是基于MobileIMSDK的,而MobileIMSDK现在是支持基于MINA2和Netty4 共2个版本(详情请见:MobileIMSDK的详细介绍)。

而MobileIMSDK的MINA2和Netty4这2个版本,为了尽最大努力可以让开发者能自行决定和切换喜欢的NIO框架,在开放给开发者的API上几乎完全一样,所以基本可以放心切换。

不过,MobileIMSDK的MINA2和Netty4这2个版本在sendData这个方法上有一个小差异,下面的图里会告诉你。

MINA版MobileIMSDK的sendData方法:
1.jpg

Netty版MobileIMSDK的sendData方法:
2.jpg

可以看出:MINA版的sendData方法数据是否成功发出,是可以直接通过方法得到返回值的(true表示成功,false表示失败),而Netty版的方法没有直接返回值——因为这是Netty框架的API设计决定的,熟悉Netty的开发者就知道:Netty的api设计上就像其它支持异步特性的语言(比如nodejs)一样,这种方法是设计为异步返回结果的,所以你能看到Netty版的sendData方法的返回值是通过传入一个观察者实现的

综上:MobileIMSDK的MINA2和Netty4这2个版本只在sendData方法的返回值上,因为MINA和Netty框架的先天设计的不一样而有这个小小的差异,其它API完全一样,可放心切换!
签名: 《零基础理解大型分布式架构的演进历史、技术原理、最佳实践》http://www.52im.net/thread-2007-1-1.html
嗯嗯 看了mina和netty底层发消息的方式 他们确实是不一样的机制
签名: im好难搞啊
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部