自己构造的即时通讯服务器基本功能搭建完成!
参考了QQ、MSN、GTALK、FETION的协议和源代码,进行了一定的优化。
传输协议使用精简XML表达(使用attribute,不使用element)
登录方式参考了QQ,采取先获取token,然后对之后的信息进行加密传输。
在稳定性方面,增强了对链接的健康度检查,包括出错率、发送频率等等;一旦出现异常立刻挂断。
对话方面参考了SIP协议,使用INVITE?BYE协议进行会话绑定。
客户端设计参考了lumaQQ.net的小部分分类,例如connectionManager/MessageManager/ContactManager等。
同时极大简化了架构,使二次开发更加容易。效果如图:
服务器目前使用console,没有一定的控制功能。基本上就是自动运行了。
可能将来会加入服务器性能监控的部分。比如强制下线、健康检查等等。