您的位置:首页 > 其它

WebSocket安卓客户端实现详解(三)–服务端主动通知

2017-12-09 22:46 344 查看

服务端主动通知

热身完毕,我们先回顾下第一篇中讲到的服务端主动通知的流程



根据notify中事件类型找到对应的处理类,处理对应逻辑.

然后用eventbus通知对应的ui界面更新.

如果需要ack,发送ack请求.

在回顾下第二篇中服务端主动通知协议的格式

?
show code

?
我们先解析出第一层bean然后根据resp_event为20执行NotifyListenerManager通知管理类对外暴露的fire()方法.

?
NotifyListenerManager是一个单例的类,在第一次创建的时候在构造方法中执行了regist方法,这是一个变种的观察者模式对于添加观察者这个过程我们直接在regist方法中写好了,如果增加了新的业务逻辑我们只需要在regist方法中put新添加的action与对应处理类.对外暴露的fire方法根据传入的responsse中action找到对应的处理类,拿到处理类对应的注解标记的class,将服务端返回的resp解析成对应的bean丢到对应处理类执行对应逻辑.

?
如果新增业务逻辑我们只需要实现新的业务逻辑类,然后在NotifyListenerManager的regist方法中put新增的action与listener映射关系,对外只需要调用
NotifyListenerManager.getInstance().fire(response)即可,实现了解耦.


到此websocket介绍完啦….鼓掌鼓掌鼓掌.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: