多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
广播通信就像群聊,任何人发的每一条消息任何一个人都可以接收到。 <br/> 实现步骤如下: **1. 服务端代码** ```java @Component @ServerEndpoint(value = "/v1/broadcast") public class BroadCastController { //存储每一个用户的Session private final static Map<String, Session> onlineUsers = new HashMap<>(1); @OnOpen public void open(Session session) { //当用户连接进来时存储每一个用户的Session onlineUsers.put(session.getId(), session); } @OnMessage public void message(String message) { broadcastAllUsers(message); } //将消息发送给所有人 public static void broadcastAllUsers(String message) { for (Map.Entry<String, Session> entry : onlineUsers.entrySet()) { entry.getValue().getAsyncRemote().sendText(message); } } } ``` **2. 前端代码** ```java var socket = null function connect() { if (socket == null) { socket = new WebSocket('ws://localhost:8090/v1/broadcast') socket.onmessage = (e) => { console.info(e.data) } } } function send() { socket.send("Hello World!") } ```