移动 IM 学习笔记[转]
转: http://ruby-china.org/topics/22530 最近在看移动IM相关的资料, 然后发现网上有很多的资料,所以在学习过程中,整理了一些笔记, 供那些 想了解 移动IM的童鞋一些参考。 移动IM技术选型要点 1、协议选型 2、IM 服务器选型 3、协议和IM服务器改造 4、移动IM常见问题以及一些解决方案 5、一些第三方服务 一、常用的IM协议 二、IM 服务器的选择 经过这几天在网上的调研, 发现目前比较流行的几个IM 服务器 也就是 Openfire、Tigase, Ejabberd: 备注: 详解Zoosk千万用户实时通信背后的开源技术 三、XMPP协议的问题及改进 1、登录握手部分改进 Xmpp QuickStart 2、心跳改进 原先Xmpp使用的Ping/Pong 40+字节, 改进为单向 white space ping, 4字节。 备注: 心跳单向四个字节,在Xmpp协议下,估计应该是极限了吧。在私有协议协议下,一来一往两个字节足够。 3、文件传输 - Xmpp 的文件传输采用的点对点的传输; 改进为http 上传到server - 语音、视频压缩上传 - 图片默认下载缩略图 4、Presense 移动互联网环境下,不管用户是否在线, 都会假设 用户永远在线。 这是因为移动网络环境导致, 比如从wifi 切换到 3G、处于地铁