spring boot 集成 websocket服务

pom.xml

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

WebSocketConfig

通过这个配置 spring boot 才能去扫描后面的关于 websocket 的注解

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;

/**
 * @ProjectName: monitoring-station
 * @Package: com.ge.code.actuator.config
 * @ClassName: WebSocketConfig
 * @Author: bianhailong
 * @Description: 
 * @Date: 4/2/2021 2:50 PM
 */
@Configuration
@EnableWebSocket
public class WebSocketConfig {

    @Bean
    public ServerEndpointExporter serverEndpoint() {
        return new ServerEndpointExporter();
    }
}

MyServer Socket服务

import org.springframework.stereotype.Component;

import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

/**
 * @ProjectName: monitoring-station
 * @Package: com.ge.code.actuator.controller
 * @ClassName: MyServer
 * @Author: bianhailong
 * @Description: 
 * @Date: 4/2/2021 2:50 PM
 */
@ServerEndpoint("/hello")
@Component
public class MyServer {

    /**
     * 连接成功
     *
     * @param session
     */
    @OnOpen
    public void onOpen(Session session) {
        System.out.println("连接成功");
    }

    /**
     * 连接关闭
     *
     * @param session
     */
    @OnClose
    public void onClose(Session session) {
        System.out.println("连接关闭");
    }

    /**
     * 接收到消息
     *
     * @param text
     */
    @OnMessage
    public String onMsg(String text) throws IOException {
        return "servet 发送:" + text;
    }
}

版权声明:本文为qq_41089622原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。