1. Websocket 介绍:
WebSocket protocol是HTML5…种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成。WebSocket,是真正实现了全双工通信的服务器向客户端推的互联网技术。
半双工:就像对讲机,每次只能一个人说话,当一个人说完宁一个人才可以说。
全双工:就像打电话,两个人可以同时说话
1.1 WebSocket协议实现方式:
2. 主要代码
2.1 maven pom文件
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
2.2 拦截器代码(主要是对建立链接和释放连接时进行相关操作的代码)
@Component
public class WebSocketInterceptor extends HttpSessionHandshakeInterceptor {
/* 握手前*/
@Override
//websocket会有自己的session容器
public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {
if (<