栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring-boot集成webSocket

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring-boot集成webSocket

工具、版本

开发工具:IntelliJ IDEA
JDK:1.8
spring-boot:2.6.0(事例使用,可根据自己版本调整)
maven:3.6.3

依赖jar
        
            org.springframework.boot
            spring-boot-starter
        
        
            org.springframework.boot
            spring-boot-starter-websocket
        
        
            org.projectlombok
            lombok
        
        
            com.alibaba
            fastjson
            1.2.49
        
项目结构

结构介绍

一、websocket服务注册到spring容器

@Configuration
public class WebSocketConfig {
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }
}
二、开放服务节点
@Slf4j
@Component
@ServerEndpoint("/socket/server/{clientId}")
public class SocketServer {


    private Logger logger = LoggerFactory.getLogger(SocketServer.class);

    @OnOpen
    public void onOpen(@PathParam("clientId") String clientId, Session session) throws IOException {
        logger.info("客户端{},上线。", clientId);
        session.getBasicRemote().sendText("欢迎上线。");
    }

    @OnClose
    public void onClose(@PathParam("clientId") String clientId) {
        logger.info("客户端{},离线。", clientId);
    }

    @OnError
    public void onError(@PathParam("clientId") String clientId, Throwable throwable) {
        logger.info("客户端{},异常及异常原因:{}。", clientId, throwable);
    }


    @OnMessage
    public void handler(String receiveMessage, Session session) {
        //接收消息
        logger.info("客户端发送消息内容:{}。", receiveMessage);
        try {
            session.getBasicRemote().sendText("收到:" + receiveMessage);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

测试

测试地址:http://coolaf.com/tool/chattest

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/605870.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号