基于Websocket+SpringMVC4推送部标Jt808终端报警(转)

原文地址:http://www.jt808.com/?p=1263

在开发部标监控平台的时候,我们要及时的将部标终端报警推送到web界面上,以弹窗的形式提供给用户显示,要将报警显示在界面上,部标808协议文档中规定的报警类型,如下图所示:

 18     报警标准位定义



定义


处理说明


0


1:紧急报警,触动报警开关后触发


收到应答后清零


1


1:超速报警


标志维持至报警条件解除


2


1: 疲劳驾驶


标志维持至报警条件解除


3


1:预警


收到应答后清零


4


1:GNSS模块发生故障


标志维持至报警条件解除


5


1:GNSS天线未接或被剪断


标志维持至报警条件解除


6


1:GNSS天线短路


标志维持至报警条件解除


7


1:终端主电源欠压


标志维持至报警条件解除


8


1:终端主电源掉电


标志维持至报警条件解除


9


1:终端LCD或显示器故障


标志维持至报警条件解除


10


1:TTS模块故障


标志维持至报警条件解除


11


1:摄像头故障


标志维持至报警条件解除

从部标808协议文档中对于报警的定义可以看出,一个定位包要承载多个报警,具体对应到数据库记录,一条定位记录要对应多条报警记录,在GPS部标监控平台车辆数到达一定的规模的时候,特别是很多平台的终端在安装的过程中接线松动,造成频繁误报,报警记录就会急剧的增多,如果采用轮询的方式,客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。优点:后端程序编写比较容易。 缺点:请求中有大半是无用,浪费带宽和服务器资源。 只能适于小型应用。车辆规模达到一定数量的时候,数据库压力比较大,报警查询性能下降,难以及时的将报警显示在客户端的页面上。

而WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信。基于事件驱动能够实现真正意义上的推送功能。在客户端与服务器端交互的web应用中,websocket最适合在高频率低延迟的场景下,进行事件的交换和处理。所以特别适合车辆终端报警信息低延迟,短消息高频率的推送场景。

各种浏览器对websocket的支持如下图所示:

具体技术的实现,可以采用spring框架,spring4.0以后加入了对websocket技术的支持,而SpringMVC框架可以完美的支持websocket, 只需要按照springmvc要求的规范开发。

 mavenpom.xml中加入websocket所依赖的jar

<dependency>

  <groupId>com.fasterxml.jackson.core</groupId>

  <artifactId>jackson-core</artifactId>

  <version>2.4.0</version>

</dependency>

<dependency>

  <groupId>com.fasterxml.jackson.core</groupId>

  <artifactId>jackson-databind</artifactId>

  <version>2.4.0</version>

</dependency>

<dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-websocket</artifactId>//version须和spring mvc的version保持一致,否则会出现问题

   <version>4.0.5.RELEASE</version>

</dependency>

<dependency>

   <groupId>org.springframework</groupId>

   <artifactId>spring-messaging</artifactId>

   <version>4.0.5.RELEASE</version>

</dependency>

具体实现方式如下:

1)实现WebSocketHandler接口

WebSocketHandler接口主要是用来与websocket客户端来进行交互的接口,Spring WebSocket提供了一些实现类,可以根据自己的需求进行选择与重写。

2)新建一个自己的HandShakeInterceptor类

HandShakeInterceptor是websocket握手拦截器,用于拦截websocket初始化连接的请求 。

3)配置spring.xml文件

原文地址:https://www.cnblogs.com/shamo89/p/9853148.html

时间: 2024-10-25 13:24:12

基于Websocket+SpringMVC4推送部标Jt808终端报警(转)的相关文章

IOS 基于APNS消息推送原理与实现(JAVA后台)--转

Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Push Notification Service(Apple Push服务器)的缩写,是苹果的服务器. 上图可以分为三个阶段. 第一阶段:Push服务器应用程序把要发送的消息.目的iPhone的标识打包,发给APNS. 第二阶段:APNS在自身的已注册Push服务的iPhone列表中,查找有相应标识的

Android 高仿微信实时聊天 基于百度云推送

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天终于有幸利用百度云推送仿一仿微信聊天了~~~ 首先特别感谢:weidi1989分享的Android之基于百度云推送IM ,大家可以直接下载:省了很多事哈,本例中也使用了weidi的部分代码,凡是@author way的就是weidi1989的代码~~ 1.效果图 核心功能也就上面的两张图了~~~我拿着手机和模拟器

C(++) Websocket消息推送---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

node.js Websocket消息推送---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

Python Websocket消息推送---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

PHP Websocket消息推送---GoEasy

Goeasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送!个人感觉goeasy推送更稳定,推送速度快,代码简单易懂上手快浏览器兼容性:GoEasy推送支持websocket 和polling两种连接方式,从而可以支持IE6及其以上的所有版本,同时还支持其它浏览器诸如Firefox, Chrome, Safari 等等.支 持不同的开发语言:   GoEasy推送提供了Restful API接口,无论你的后台程序用的是哪种语言都可以通过RestfulAPI来实现后台实时推送.

基于百度云推送的高仿微信实时聊天Android源码

基于百度云推送的高仿微信实时聊天Android源码 使用服务:百度云推送    功能分类:社交     支持平台:Android 运行环境:Android       开发语言:Java     开发工具:Eclipse 下载地址:http://sina.lt/z84 源码简介 基于百度云推送的一款Android高仿微信的实时聊天app 运行动态图

WebSocket消息推送

WebSocket协议是基于TCP的一种新的网络协议,应用层,是TCP/IP协议的子集. 它实现了浏览器与服务器全双工(full-duplex)通信,客户端和服务器都可以向对方主动发送和接收数据.在JS中创建WebSocket后,会有一个HTTP请求发向浏览器以发起请求.在取得服务器响应后,建立的连接会使用HTTP升级将HTTP协议转换为WebSocket协议.也就是说,使用标准的HTTP协议无法实现WebSocket,只有支持那些协议的专门浏览器才能正常工作.由于WebScoket使用了自定义

spring boot项目之webSocket消息推送

WebSocket是客户端和服务端的通信(https://www.cnblogs.com/jingmoxukong/p/7755643.html) 了解计算机网络协议的人,应该都知道:HTTP 协议是一种无状态的.无连接的.单向的应用层协议.它采用了请求/响应模型.通信请求只能由客户端发起,服务端对请求做出应答处理. 这种通信模型有一个弊端:HTTP 协议无法实现服务器主动向客户端发起消息. 这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端要获知就非常麻烦.大多数 Web 应用程序将