IM聊天软件开发需要面对的技术问题_第1页
IM聊天软件开发需要面对的技术问题_第2页
IM聊天软件开发需要面对的技术问题_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、即时通讯聊天软件的应用,使人与人之间的沟通变得越来越便捷,人们对于IM 聊天软件也越来越依赖。随之而来的就是 IM 聊天软件的快速发展,变得越来越高端,技术层面也是越发复杂。就是基于这样的情况,我们在开发一个 IM 聊天软件的时候,就会出现一些问题,需要我们一一面对并解决。1、该选择什么样的网络通讯技术IM 主流网络通讯技术有两种:基于 TCP 的长连接;基于 HTTP 短连接 PULL的方式。后者常见于 WEB IM 系统(当然现在很多 WEB IM 都是基于 WebSocket 实现),它的优点是实现简单,方便开发上手,问题是流量大,服务器负载较大,消息及时性无法很好地保证,对大规模的用户

2、量支持不够,比较适合小型的IM 系统,如小网站的客户系统。基于 TCP 长连接则能够更好地支持大批量用户,问题是客户端和服务器的实现比较复杂。当然也还有一些变种,如下行使用MQTT 进行服务器通知/消息的下发,上行使用 HTTP 短连接进行指令和消息的上传。这种方式能够保证下行消息/指令的及时性,但是在弱网络下上行慢的问题还是比较严重。早期的来往就是基于这种方式。2、协议如何制定IM 协议选择原则一般是:易于拓展,方便覆盖各种业务逻辑,同时又比较节约流量。后一点的需求在移动端 IM 上尤其重要。常见的协议有:XMPP、SIP、MQTT、私有协议。每个协议都有各自的优点和缺点,而一个好的协议需要

3、满足如下条件:高效,简洁,可读性好,节约流量,易于拓展,同时又能够匹配当前团队的技术堆栈。基于如上原则,我们可以得出:如果团队小,团队技术在 IM 上积累不够可以考虑使用 XMPP 或者 MQTT+HTTP 短连接的实现。反之可以考虑自己设计和实现私有协议。3、P2P 还是服务器中转M 通讯方式无非两种选择:设备直连(P2P)和通过服务器中转。P2P:多见于局域网内聊天工具,这类软件在启动后一般做两件事情:进行 UDP广播:发送自己信息和接受同局域网内其他端信息;开启 TCP 监听:等待其他端进行连接。这种方式有种种限制和不便:一方面它只适合在线的点对点消息传输,对离线,群组等业务支持不够。另

4、一方面由于 NAT 的存在,使得不同局域网内机器互联难度大大上升,在某些网络类型(对称 NAT)下无法建立连接。服务器中转方式:几乎所有互联网 IM 产品都采用服务器中转这种方式进行消息传输,相对于P2P 的方式,它有如下的优点:能够支持更多 P2P 无法支持或支持不好的业务,如离线消息,群组,聊天室服务;方便业务逻辑的拓展和新旧版本的兼容。当然它也有自己的问题:服务器架构复杂,并发要求高。仅仅就是移动端的 IM 聊天软件就需要解决这么多的技术问题,PC 端的话我们需要面对的可能更多,这就需要考验大家的能力和耐心了,感兴趣的可以自行网上咨询。浙江黑帽科技有限公司是一家集软件定制开发、软件外包、智慧信息化建设的软件开发服务商,拥有成熟的 APP 定制开发、小程序定制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论