websocket 在实际的应用中不仅仅能做聊天应用,还可以利用websocket长连接保持数据的实时更新以及信息的推送。
websocket 的实现的关键点
第一个:首先需要引入 java-websocket.jar 包, 这里我使用的版本时1.3.1。
接下来就开始了,不同的业务有不同的需求,我们根据业务需求封装一下websocket 请求
在runable中实例websocket对象,并在四个回掉函数中构建自己的业务逻辑,
接着定义send方法发送请求
,定义一个接口用于接收服务端返回的数据。
其他的例如destory和开启线程方法就不多赘述。
第二:因为我们需要websocket保持与服务端的连接,不仅仅在程序运行时,当锁屏以及程序后台时都需要获取服务端推送的信息,这时候我们就需要把websocket运行在service上了。
service 与程序交互则通过广播来完成。 在服务类中注册一个广播接收器和广播。当接收到数据之后在onMessage方法中处理,之后再有广播发送到客户端。
接下来我们还需要定义一个中间广播类,用于接收service返回的信息到页面,以及一个接口用于页面的数据获取
到此整体的思路以及完成。
使用的话很简单,先实例一个中间广播类对象然后发送请求,在实现接口
用于处理对应的业务逻辑。
websocket核心:重连 拉起 心跳 解析 消息转发
《WebSocket详解(一):初步认识WebSocket技术》
《WebSocket详解(二):技术原理、代码演示和应用案例》
《WebSocket详解(三):深入WebSocket通信协议细节》
《WebSocket详解(四):刨根问底HTTP与WebSocket的关系(上篇)》
书籍:
来源:oschina
链接:https://my.oschina.net/u/4381939/blog/3855908