这个系列的内容是零基础针对IBM developerWorks的一篇文章《WebSocket实战》的学习,其实就是将代码进行修改补全的过程。
再简述一遍我对这篇文章结尾案例实现目的的理解,A类设备的登陆退出都会通知同组B类设备更新地图,至于报修移动什么的都同理了。
1.下图是B类设备的界面显示:
名词解释:MessageInbound参考文章:基于消息的WebSocket实现类(带内消息),应用程序应当扩展这个类并实现其抽象方法onBinaryMessage和onTextMessage。
2.下图是对A类设备登陆过程的描述:(1)客户端发送设备登陆所需的deviceNm和devicePw到服务端进行验证(2)服务端验证成功后将设备信息发送到客户端(3)客户端收到设备信息后建立一个含有设备id信息的websocket请求(4)服务端创建MessageInbound连接并添加到连接池同时触发MessageInbound的onOpen和客户端的websocket的doOpen事件(5)客户端登陆事件完成页面跳转和地图刷新并发送A类设备登陆事件,至此A类设备登陆的客户端任务已经完成(6)服务端将设备位置状态等信息更新到数据库,并且通过长连接发送信息给同组B类设备(假如已经有B类设备登陆的话),B类设备收到信息更新地图,至此服务端的任务已经完成。
3.我用到的环境:
java version "1.7.0_80-ea"
jquery.mobile-1.4.5
Eclipse Platform Version: 4.2.1.v20130118
MyEclipse Enterprise Workbench Version: 10.0
apache-tomcat-7.0.70
SQLyog v10.2
环境搭建就不赘述了。
看情况吧,如果有同学需要的话我就把代码补全罗列一遍。