当前位置: 首页 > news >正文

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();
            }

        }
    }

}

相关文章:

  • 【Linux】34.封装 UdpSocket(1)
  • 【读书笔记·VLSI电路设计方法解密】问题53:什么是逻辑综合
  • bind()函数的概念和使用案例
  • WPF实现打印机控制及打印
  • JavaScript 数组连接方法
  • java中的Entry类,map接口
  • 值传递,引用传递
  • TIP: Flex-DLD
  • 人工智能学习环境配置
  • HTTP Keep-Alive:性能优化的关键机制
  • 排序链表--字节跳动
  • Pytorch框架03-网络的搭建(nn.Module/卷积层/池化层/非线性激活/线性层/CIFAR-10分类模型搭建)
  • devops 工具 网络安全
  • Java数据结构-排序
  • 微信小程序-组件复用机制behaviors
  • Mono里运行C#脚本43—System.Console.WriteLine()函数的生成过程
  • ThinkORM模型静态方法create好像对MongoDB不支持
  • 深度学习-7.超参数优化
  • CSS按钮点击效果实战:scale(0.95) 与10个交互动画优化指南
  • 体育品牌排行榜前十名:MLB·棒球1号位
  • 当创业热土遇上年轻气息,上海南汇新城发展如何再发力?
  • 巴基斯坦空袭印度多地空军基地,巴战机进入印领空
  • 巴基斯坦首都及邻近城市听到巨大爆炸声
  • 本科生已发14篇SCI论文被指由其教授父亲挂名,重庆大学成立工作组核实
  • 奥园集团将召开债券持有人会议,拟调整“H20奥园2”本息兑付方案
  • 定位真核生物起源于约27.2亿年前,华东师大团队在《自然》发文