什么是webSocket?
WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器互相通信,不但可以浏览器去请求服务器获取数据,而且允许服务器主动发送信息给客户端。
maven依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency>
开启webSocket支持
@Configuration public class WebSocketConfig { @Bean public ServerEndpointExporter serverEndpointExporter() { return new ServerEndpointExporter(); } }
1,WebSocketConfig相当于web层的controller
2,直接@ServerEndpoint("/send/{userId}")
、@Component
启用即可,然后在里面实现 @OnOpen
开启连接,@onClose
关闭连接,@onMessage
接收消息等方法。
3,新建一个ConcurrentHashMap
webSocketMap 用于接收当前userId的WebSocket,方便服务器对userId进行推送消息
package com.spring.boot.socket; import java.io.IOException; import java.util.concurrent.ConcurrentHashMap; import javax.websocket.OnClose; import javax.websocket.OnError; import javax.websocket.OnMessage; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.server.PathParam; import javax.websocket.server.ServerEndpoint; import com.alibaba.fastjson.JSON; import com.