从开始选型到demo 完成,前前后后估计花费接近两个星期吧。
1、选型
A、收费的可以Pass,当时网易客服就推荐过,可以微信小程序里直接使用。
B、服务端全部自建这种,没有敢用。由时时间精力等原因,不太可能让你维护一套复杂的服务端代码。
https://www.oschina.net/p/qiqi-im , 还github上也有相类似的就是这么pass掉了。
我采用了业内最为基本的openfire 来当服务器,成熟,稳定,可靠。
按理来说,有一个openfire 就可以了,为什么还要websocket 与smack 。主要考虑以后的应用多端的,微信小程序,android ,ios, 如果每个端都按照openfire的协议来的话,这将会非常复杂,所以新建应用,封装这些细节,其后应用提供统一的websocket接口,屏蔽所有细节。
2、openfire的安装
这个网上特别多,这里就不多说了。
有个细节点要注意,在设置的时候,需要允许匿名登陆,不然后面的demo 无法连接成功。
3、直接上代码 细节
提供两个页面,room.html与websocket.html
room.html的群聊的,websocket.html是一对一聊天的。
A、一对一聊天,从a发b。需要打开两个浏览器,一个从a到b,一个从b到a。然后连接。
B、群聊,房间号需要一样就可以了。
资源下载:
http://download.csdn.net/download/mylove709834360/10201090
http://download.csdn.net/download/mylove709834360/10201092
如果有问题,可以联系[email protected]
附:是socket+redis的聊天工具。