网站首页 > 博客文章 正文
移动互联网最重要的应用类型是什么?一定是社交。这也是人们用手机最核心的需求。社交应用也分为好几种,比如像微信、陌陌这种即时通信应用,属于强社交应用,其信息交互是双向的;像微博、朋友圈这种Feeds流应用,属于弱社交应用,信息交互是单向的。这篇文章简单讲一下移动端的即时通信应用(Instant Message)的开发原理。
QQ是PC端最常用的即时通信工具,PC客户端之间通信一般是直连为主、转发为辅,服务器起到的作用主要是传递系统消息,并帮助客户端之间建立直连通路,只有当对方不在线时,才会把离线消息传给服务器,再由服务器等好友上线转发给他。
移动端的IM应用与PC端有所不同,由于在移动客户端之间建立直连通路难度较大,所以移动客户端之间通信一般采用的都是服务器转发的方式,客户端先把消息传给服务器,再由服务器转发给对方用户。
最常用的移动IM通信协议是XMPP(Extensible Messageing and Presence Protocol)协议。XMPP是一种基于XML的协议,具有超强的可扩展性。 经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求。
XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。 XMPP目前被IETF国际标准组织完成了标准化工作。标准化的核心结果分为两部分: 核心的XML流传输协议, 基于XML流传输的即时通讯扩展应用。借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮。
XMPP中定义了三个角色,客户端(XMPP Client),服务器(XMPP Server),网关(Gateway)。通信能够在这三者的任意两个之间双向发生。
服务器同时承担了客户端信息记录,连接管理和信息的路由功能。
网关承担着与异构即时通信系统的互联互通,异构系统可以包括 SMS(短信),MSN,ICQ等。
基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。
所有从一个Client到另一个Client的Jabber消息和数据都要通过XMPP Server。
XMPP协议是基于XML文本的,对于一般的移动IM应用就够用了,像环信、融云这些提供第三方IM服务的平台,都是使用XMPP协议。但对于用户量特别大的IM应用,比如微信,基于XML文本的XMPP协议就显得效率太低。微信采用自定义二进制协议来传输消息,这样效率就高了不少。
融云:http://www.rongcloud.cn/
环信:http://www.easemob.com/
- 上一篇: 微信小程序应用开发赛(微信小程序应用开发赛2023)
- 下一篇: 企业微信群管理系统难以置信的应用效果
猜你喜欢
- 2024-09-18 合肥微信小程序开发应用打开方式有哪些?
- 2024-09-18 如何使用微信小程序开发打车应用?
- 2024-09-18 企业微信群管理系统难以置信的应用效果
- 2024-09-18 云传客:微信应用号定制开发,决胜下一个风口
- 2024-09-18 微信小程序应用开发赛(微信小程序应用开发赛2023)
- 2024-09-18 微信小程序应用开发全流程(第八篇)
- 2024-09-18 H5技术在微信开发中的应用(微信h5使用)
- 2024-09-18 微信公众平台开发——用户管理的巧妙应用
- 2024-09-18 微信研发新功能,或许有你最期待的
- 2024-09-18 微信小程序应用开发全流程(第六篇)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)