Java 使用websocket

添加依赖

xml 复制代码
<!-- WebSocket 支持 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

添加配置类

java 复制代码
@Configuration
public class WebSocketConfig {
    @Bean
    public ServerEndpointExporter serverEndpointExporter(){
        return new ServerEndpointExporter();
    }
}

添加服务类

java 复制代码
@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();
            }

        }
    }

}
相关推荐
钦拆大仁38 分钟前
华为云短信接入实现示例
java·华为云
问道飞鱼1 小时前
【Springboot知识】Springboot计划任务Schedule详解
java·spring boot·后端·schedule
北执南念2 小时前
IDEA回滚代码操作
android·java·intellij-idea
hello_ejb32 小时前
聊聊Spring AI 1.0.0-SNAPSHOT的变更
java·人工智能·spring
zhangxueyi2 小时前
Java实现堆排序算法
java·数据结构·算法
264玫瑰资源库3 小时前
网狐飞云娱乐三端源码深度实测:组件结构拆解与部署Bug复盘指南(附代码分析)
java·开发语言·前端·bug·娱乐
认真的小羽❅3 小时前
Spring Boot Validation实战详解:从入门到自定义规则
java·数据库·spring boot
黛色正浓3 小时前
【SpringBoot3】idea找不到log符号
java·ide·intellij-idea
MaCa .BaKa3 小时前
36-校园反诈系统(小程序)
java·spring boot·mysql·小程序·vue·maven·uniapp
Non importa3 小时前
【初阶数据结构】树——二叉树——堆(中)
java·c语言·数据结构·学习·算法