IM类应用架构所需了解

来源:互联网 发布:燕雀焉知鸿鹄之志图片 编辑:程序博客网 时间:2024/04/30 08:55

第一通讯协议像腾讯 陌陌这种都是自己设计的协议,但肯定是按照某个基础框架进行改造的。第二、IM类APP基本不在前台的情况下不会长连接 ,后台以后就都是APN推送了,前台运行的时候都是有很完整的设计架构,能够随时监控网络状态并reset网络如 wifi 3G 4G切换 ,移动设备的网络状态是很不稳定的,比如在3G网络状态下可能会因为基站的切换导致连接失败等,所以长连接一般做不到的,只能中断后自动连接,一般客户端每次成功登陆以后都有一个 session token,然后重连的时候以此作为令牌进行验证避免用户因掉线而重复登陆,这些都是很复杂的协议,根本没有必要去从头自己设计,也不是随便谁能搞出来的,如果你正写一个IM的app一般可以使用通用协议如XMMP,但是这些都是很基础的,你不光要做客户端你还要兼顾服务端的后台设计,必须对服务端做轻量化的改造。还有一种办法是采用云服务,如leancloud,这些云服务已经把服务端做好了,并且会提供你一个sdk 你只要pod install或者用REST API就好了,其他底层的他都可以完成,你只需会用 node.js写服务器端的业务逻辑和hook函数,这样做的好处是节省开发时间更专注于于和用户打交道的客服端开发上,缺点是你的云服务商掐着你的喉咙,云服务出问题你也完蛋,而且有依赖性因为太方便了。当然你可以用REST API调用云服务,这样你就可以在后期设计自己的服务端和后台业务逻辑,最终从云服务上迁移出来。

1 0
原创粉丝点击