首先,Openfire服务器做插件开发的话,需要基本功扎实一些,如果技术方面积累不够的话最好不要去碰。官方的二次开发文档做的一般,可操作性较差,国内暂时没有找到更好的资料。
如果你仅仅想实现
1.即时通讯
2.推送服务
2的话可以直接集成百度推送等方面,自己做过Mina做服务器端框架的长连接模式推送,维护故障处理涉及精力较大,效果可以达到要求,最终结论是得不偿失。AndroidPN这个项目直接绕过,纯粹是个坑。
1.技术实力强的话,Openfire依旧是最佳选择,内里也是Mina,并且有更好的架构和设计保证
否则参考2.
通过推送做即时通讯大致项目架构是这样子滴
自己实现 用户中心,好友关系群组,消息存储/转存
通过推送服务,实现消息到达提醒(注意不传递消息正文),客户端另外逻辑负责从服务器存取消息正文(文字 图片 等等随意),协议自便方式自便,上下线通知通过定时任务刷新足以应付,具体设计看各位同学功底了,架构是切实可行的