spring websocket 记录

websocket 在于建立全双工的通信方式

先从客户端说起:

  var socket = new WebSocket(url); 建立一个WebSocket连接

  在创建WebSocket之后。可以通过onopen,onmessage,onclose及onerror四个事件实现对socket进行响应

  比较重要的就是第三个:当客户端收到服务端发来的消息时,触发onmessage事件

  给服务端发消息:socket.send(JSON.stringify(message));

在服务端Spring方面:

  首先用注解声明一个关于WebSocket的配置类:

@Configuration
//声明当前类是一个配置类,相当于一个Spring的XML配置文件,与@Bean配合使用。
@EnableWebMvc
@EnableWebSocket
public class WebSocketConfig extends WebMvcConfigurerAdapter implements WebSocketConfigurer{

	@Override
	public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
		 registry.addHandler(systemWebSocketHandler(),"webSocketServer.do");
	}

        ……
}

  里面这个方法大概就是注册处理器,即将addHandler的第二个参数作为请求,交给第一个参数处理,这时候目光转移到处理器Handler去

  Handler是一个实现WebSocketHandler接口的类,里面有这么一些方法:

  1、afterConnectionEstablished:连接成功建立后调用

  2、handleMessage:在新WebSocket消息到达时调用

  3、handleTransportError:抛出异常时调用

  4、afterConnectionClosed:在任何一方关闭WebSocket连接或发生传输错误后调用

  5、supportsPartialMessages:……

  具体看官方文档

原文地址:https://www.cnblogs.com/LinsenLi/p/9833384.html