前不久在项目中实现了Im功能,之前im功能使用使用第三方,这次用到了WebSocket。找到
https://github.com/TooTallNate/Java-WebSocket
compile "org.java-websocket:Java-WebSocket:1.3.7"
基于库实现过程遇到不少问题:
坑1:WebSocketClient objects are not reuseable
new WebSocketClient对象只能连接一次(调用connect时),要重新建立得再new 一次。
网络好的情况下,websoket会经常断开,重新连接,但要连接过程中又要考虑正在聊天的内容,不能让用户正在聊天感觉断网了,连接成功后把聊天的内容发送出去,所以要做一个聊天数据缓冲区。
坑2:发送的信息没有反馈是否送达?
首先要理解WebSocket是”心跳“机制