你的位置:首页 > 软件开发 > Java > Spring WebSocket详解

Spring WebSocket详解

发布时间:2015-07-24 10:00:06
Spring WebSocket详解 Spring框架从4.0版开始支持WebSocket,下面我将详述Spring WebSocket库的相关内容。内容包括Spring框架是如何在Web应用中支持WebSocket方式的消息通信,以及如何利用STOMP协议作为应用层的协议&am ...

Spring WebSocket详解 1、WebSocket协议介绍WebSocket协议是RFC-6455规范定义的一个Web领域的重要的功能:全双工,即客户端和服务器之间的双向通信。它是一个令人兴奋的功能,业界在此领域上已经探索很久,使用的技术包括Java Applet、 需要理解一点,在使用WebSocket协议前,需要先使用HTTP协议用于构建最初的握手。这依赖于一个机制——建立HTTP,请求协议升级(或叫协议转换)。当服务器同意后,它会响应HTTP状态码101,表示同意切换协议。假设通过TCP套接字成功握手,HTTP协议升级请求通过,那么客户端和服务器端都可以彼此互发消息。Spring框架4.0以上版本引入了一个新模块,即spring-websocket模块。它对WebSocket通信提供了支持。它兼容Java WebSocket API规范JSR-356,同时提供了额外的功能2、WebSocket的降级选项 浏览器对WebSocket的支持并不快,IE浏览器是第10版才开始支持的。此外,一些代理工具也会限制WebSocket通信。因此,即使是现在要开发WebSocket应用,降级选项是必不可少的,以便在不支持的场景使用模拟WebSocket API的工作方式。Spring框架提供了这种透明的降级方案——使用SockJS协议。此方案可以通过配置来自动切换,无需修改应用程序的代码。3、消息通信架构 使用WebSocket除了开发方面的挑战外,还有一个难点在于设计上的考虑。Spring框架4.0引入了一个新模块——spring-messaging模块,它包含了很多来自于Spring Integration项目中的概念抽象,比如:Message消息、消息频道MessageChannel、消息句柄MessageHandler等。此模块还包括了一套注释,可以把消息映射到方法上,与Spring MVC基于注释的编程模型相似。4、WebSocket支持子协议WebSocket只是一个消息传递的体系结构,它没有指定任何特定的消息传递协议。它是一个TCP协议之上的超薄层,可以把字节流转换成消息流(文本货二进制)。随后由应用程序来解释消息。Spring框架提供了对使用STOMP子协议的支持。5、什么场景下该使用WebSocket在Web应用中,客户端和服务器端需要以较高频率和较低延迟来交换事件时,适合用WebSocket。因此WebSocket适合财经、游戏、协作等应用场景。 而只有在低延迟和高频消息通信的场景下,选用WebSocket协议才是非常适合的。即使是这样的应用场景,仍然存在是选择WebSocket通信呢?又或者是选择REST HTTP通信呢?Spring框架提供了@Controller注释和@RestController注释,两者都可以用于HTTP请求的处理以及WebSocket消息的处理。另外,Spring MVC的请求处理方法,或其它应用程序的请求处理方法,都可以很容易地使用WebSocket协议来广播消息到所有感兴趣的客户端或指定用户。

java企业级通用权限安全框架源码 SpringMVC mybatis or hibernate+ehcache shiro druid bootstrap HTML5

【java框架源码下载】


原标题:Spring WebSocket详解

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录