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

使用org.java_websocket库第三方库实现广播

可以使用org.java_websocket库来实现WebSocket服务器,并通过broadcast方法实现广播

java实现

import org.java_websocket.WebSocket;
import org.java_websocket.handshake.ClientHandshake;
import org.java_websocket.server.WebSocketServer;
import java.net.InetSocketAddress;
import java.io.IOException;

public class BroadcastWebSocketServer extends WebSocketServer {
    public BroadcastWebSocketServer(int port) throws IOException {
        super(new InetSocketAddress(port));
    }

    @Override
    public void onOpen(WebSocket conn, ClientHandshake handshake) {
        conn.send("Welcome to the server!");
        broadcast("New connection: " + handshake.getResourceDescriptor());
    }

    @Override
    public void onClose(WebSocket conn, int code, String reason, boolean remote) {
        broadcast(conn.getRemoteSocketAddress().getAddress().getHostAddress() + " has left the room!");
    }

    @Override
    public void onMessage(WebSocket conn, String message) {
        broadcast("Message from " + conn.getRemoteSocketAddress().getAddress().getHostAddress() + ": " + message);
    }

    @Override
    public void onError(WebSocket conn, Exception ex) {
        ex.printStackTrace();
    }

    @Override
    public void onStart() {
        System.out.println("Server started!");
    }
}

相关文章:

  • RISC-V架构低功耗MCU中断控制系统设计
  • 《Vue3学习手记7》
  • 3D Gaussian Splatting部分原理介绍和CUDA代码解读
  • grafana/loki 设置日志保留时间
  • C++的vector中emplace_back() 与 push_back() 的区别
  • 高防 CDN 的防护功能有哪些?从基础防护到智能防御的全面解析
  • redis高级进阶
  • 记录 Flink jdbc、mysql-cdc 连接 mysql8 碰到的适配问题
  • Leetcode刷题记录22——滑动窗口最大值
  • AI Agent Protocols:现状、挑战与未来展望
  • 耐高低温抗金属RFID标签种类和应用场景
  • 【全国产化】基于飞腾 FT2000+/64 核的服务器主板设计与实践
  • LVGL -窗口操作
  • 【MCP Node.js SDK 全栈进阶指南】高级篇(3):MCP 安全体系建设
  • Unity-Shader详解-其三
  • 前端防护利器:disable-devtool 使用指南 - 保护你的Web应用安全
  • 本地知识库工具FASTGPT的安装与搭建
  • Java中final关键字的作用?
  • 信息学奥赛一本通 1454:山峰和山谷
  • 优化PCB Via Stub系列(1):一次学会利用层叠设计降低Via Stub损耗
  • 中国恒大披露清盘进展:要求债权人提交债权证明表
  • 一船明月过沧州:为何这座城敢称“文武双全”?
  • 上海高院与上海妇联签协议,建立反家暴常态化联动协作机制
  • 恒生银行回应裁员传闻:受影响的员工数目占银行核心业务员工总数约1%
  • 张汝伦:康德和种族主义
  • 新任国防部新闻发言人蒋斌正式亮相