简单方便,开箱即用
一、引入jar包 javax.websocket-api-1.1.jar
注意:这个包与Tomcat内置的websocket会引起冲突,但是在本地开发的时候不会有什么影响,在部署的时候要把这个包删掉。会自动找Tomcat的包。、
二、编写方法类
package com.jinxin.cd.smarthome.webInterface;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@Component
@ServerEndpoint("/webSocket/{userId}")
public class MyWebSocket {
private static Logger logger = LoggerFactory.getLogger(MyWebSocket.class);
private String userId;
private Session session;
private static Map<String,MyWebSocket> client = new ConcurrentHashMap<>();
@OnOpen
public void onOpen(@PathParam("userId") String userId,Session session){
logger.debug("新连接:{}",userId);
if (!isEmpty(userId)){
this.userId = userId;
this.session = session;
client.put(userId, this);
logger.info("现在连接的客户编码为:" + userId