默认
发表评论 8
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
请教MobileIMSDK即时通讯框架具体的通信协议格式
阅读(43316) | 评论(8 收藏4 淘帖1
请问mobileSDK有没有公开的具体协议文档?比如我想在一块支持UDP协议的芯片上实现客户端功能,希望能有具体的协议(如心跳包格式、消息格式、消息回执格式等)文档参考自己写一个客户端。

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

标签:MobileIMSDK
上一篇:[已回复] 请教服务器重启,还原MobileIMSDK的session问题下一篇:[已解决] 谁有MobileIMSDK的Android ClientTOClient 的Demo

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

推荐方案
评论 8
一个即时通讯框架的心跳、应答、网络检测、断线重连等等协议的制定和实现其实是整个IM底层算法的一部分。

对于MobileIMSDK来说,设计目标就是为了简单、简单、再简单,所以这些底层的协议和算法对于上层的开发者来说都是透明的(也就是封装起来了)。上层应用开发者只管按照步骤:登陆、发消息就行了。

至于能不能收到、是否掉线等等情况,IM底层都会通过回调通知上层(比如:掉线了、重连成功了、消息收到了等等,这些回调上层不处理也不会影响整个Im算法的运作,回调的目的仅仅是让上层为用户进行即时的UI和界面上的反馈而已),上层只需知道发生了什么,而完全不用了解怎么发生的。

综上所述:MobileIMSDK这样的框架,所有的核心算法都由底层去实现和运转,上层只需在回调里即时进行UI和界面的反馈就行了(即使不处理这些回调,也完全不影响整个IM底层的运转,它掉线了该什么时候重连、怎么的策略来决定是否掉线、什么时候发送应答、什么时候决定重传等等都是自动完成)。
引用:JackJiang 发表于 2016-06-30 10:12
一个即时通讯框架的心跳、应答、网络检测、断线重连等等协议的制定和实现其实是整个IM底层算法的一部分。
...

顶群主。这样的设计算是高度提炼了,对于初次接触的人来说,可能会一时想像不出来这里面都干了啥
潜入式设备上貌似实现UDP协议要比TCP简单多了,但为了可靠性,算法估计还得参考群主的MobileIMSDK的思路,MobilIMSDK就是udp协议实现。
签名: 国庆长假还没有缓过来,请让我静一静,产品狗死远点...
引用:JackJiang 发表于 2016-06-30 10:12
一个即时通讯框架的心跳、应答、网络检测、断线重连等等协议的制定和实现其实是整个IM底层算法的一部分。
...

恩,理解。现在有这么一个场景,我有一块WiFi芯片,里面都是C编程。所以客户端用不了你封装好了的sdk,需要自己按照你编写得skd和服务器之间的通信协议,重新写一套c语言的客户端。自己重新写就需要一个协议,目前你的SDK封装协议不透明。所以想知道你这个底层的通信协议格式是否开放?
引用:Casi 发表于 2016-06-30 10:28
恩,理解。现在有这么一个场景,我有一块WiFi芯片,里面都是C编程。所以客户端用不了你封装好了的sdk,需 ...

MobileIMSDK的协议倒没什么技术含量,主要就是整个框架的算法,难搞的是这个。
源码也有,你可以去下下来看看。
引用:IMDeveloper 发表于 2016-06-30 10:25
潜入式设备上貌似实现UDP协议要比TCP简单多了,但为了可靠性,算法估计还得参考群主的MobileIMSDK的思路,M ...

对的,目前就想按照群主的思路,自己写一个c语言版本的客户端。所以我希望能有群主思路协议的支持。之前实现了DDPUSH的c语言客户端已经打通,因为DDPUSH协议是公开的,所以实现起来也比较方便,但是我没找到群主的公开协议。不好下手。
引用:Casi 发表于 2016-06-30 10:34
对的,目前就想按照群主的思路,自己写一个c语言版本的客户端。所以我希望能有群主思路协议的支持。之前 ...

MobileIMSDK现在的协议默认实现是JSON文本,主要是为了方便调试。因为提炼的比较好,自已换其它协议很容易,我也就没去折腾,你自已看看可以怎么用。
引用:JackJiang 发表于 2016-06-30 11:13
MobileIMSDK现在的协议默认实现是JSON文本,主要是为了方便调试。因为提炼的比较好,自已换其它协议很容 ...

好的,谢谢群主的解答。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部