clll
2023-09-06 190cc52625bea627b6266f0124bd0d638f03394c
springboot-vue3/src/main/java/com/example/springboot/component/WebSocketServer.java
@@ -7,7 +7,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
@@ -16,8 +15,8 @@
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.stereotype.Component;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@@ -25,6 +24,14 @@
@ServerEndpoint(value = "/api/talk/{username}")
@Component
public class WebSocketServer {
  static ConfigurableApplicationContext applicationContext;
  // 解决无法注入mapper问题  //使用方法
  // homeMapper=WebSocketServer.applicationContext.getBean(HomeMapper.class);
  public static void setApplicationContext(ConfigurableApplicationContext configurableApplicationContext) {
    WebSocketServer.applicationContext = configurableApplicationContext;
  }
   private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
    private List<String> messages;
@@ -35,9 +42,11 @@
    
    String username;
    Session session;
    public WebSocketServer() {
        this.messages = new ArrayList<>();
    }
    /**
     * 连接建立成功调用的方法
     */
@@ -74,6 +83,7 @@
     * 后台收到客户端发送过来的消息
     * onMessage 是一个消息的中转站
     * 接受 浏览器端 socket.send 发送过来的 json数据
   *
     * @param message 客户端发送过来的消息
     */
    @OnMessage