1.引入依赖
org.springframework.boot spring-boot-starter-websocket1.3.5.RELEASE
2.配置ServerEndpointExporter
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}
这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint。
3.创建websocket的ServerEndpoint端点
@Component
@ServerEndpoint("/socket")
public class WebSocketServer {
private static Map onlineSessions = new ConcurrentHashMap<>();
@onOpen
public void onOpen(Session session) {
onlineSessions.put(session.getId(), session);
}
@onMessage
public void onMessage(Session session, String jsonStr) {
}
@onClose
public void onClose(Session session) {
onlineSessions.remove(session.getId());
}
@onError
public void onError(Session session, Throwable error) {
error.printStackTrace();
}
public void sendMessageToAll(String jsonMsg) {
onlineSessions.forEach((id, session) -> {
try {
session.getBasicRemote().sendText(jsonMsg);
} catch (IOException e) {
e.printStackTrace();
}
});
}
}
4.前端配置连接与接收消息


