瑞星 发表于 2025-2-22 16:48:59

Java 使用websocket

添加依赖

<!-- WebSocket 支持 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
添加设置类

@Configuration
public class WebSocketConfig {
    @Bean
    public ServerEndpointExporter serverEndpointExporter(){
      return new ServerEndpointExporter();
    }
}
添加服务类

@Component
@ServerEndpoint("/ws/{clientId}")
public class WebSocketServer {

    private static Map<String, Session> sessionMap = new HashMap<>();

    @OnOpen
    public void onOpen(Session session, @PathParam("clientId") String clientId) {
      System.err.println("客户端:" + clientId + "建立连结");
      sessionMap.put(clientId, session);
    }

    @OnClose
    public void onClose(@PathParam("clientId") String clientId) {
      sessionMap.remove(clientId);
    }

    /**
   * 收到客户端消息后调用的方法
   *
   * @param message客户端发送过来的消息
   * @param clientId
   */
    @OnMessage
    public void onMessage(String message, @PathParam("clientId") String clientId) {
      System.err.println("收到来自客户端" + clientId + "的消息:" + message);
    }

    public void sendMessage(String message) {
      Collection<Session> sessions = sessionMap.values();
      for (Session session : sessions) {
            try {
                session.getBasicRemote().sendText(message);
            } catch (Exception e) {
                e.printStackTrace();
            }

      }
    }

}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Java 使用websocket