WebSocket

前端请求ws-->nginx反向代理--->localhost:8080

java 复制代码
package com.sky.websocket;

import org.springframework.stereotype.Component;

import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

@Component
@ServerEndpoint("/ws/{sid}")
public class WebSocketServer {

    //存放会话对象
    private static Map<String, Session> sessionMap = new HashMap<>();

    /**
     * 连接建立成功调用的方法
     */
    @OnOpen
    public void onOpen(Session session) {
        //获取客户端的sid
        String sid = session.getPathParameters().get("sid");
        //将sid作为key,session作为value,保存到map中
        sessionMap.put(sid, session);
    }

    /**
     * 接收到客户端发送过来的消息
     * @param message
     */
    @OnMessage
    public void onMessage(String message) {
        //获取客户端发送过来的消息
        System.out.println("来自客户端的消息:" + message);
    }

    /**
     * 连接关闭调用的方法
     *
     * @param sid
     */
    @OnClose
    public void onClose(@PathParam("sid") String sid) {
        System.out.println("连接断开:" + sid);
        sessionMap.remove(sid);
    }

    /**
     * 群发
     *
     * @param message
     */
    public void sendToAllClient(String message) {
        Collection<Session> sessions = sessionMap.values();
        for (Session session : sessions) {
            try {
                //服务器向客户端发送消息
                session.getBasicRemote().sendText(message);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

}

相关推荐
某个默默无闻奋斗的人20 分钟前
网络体系结构(OSI,TCP/IP)
网络·网络协议·tcp/ip
hgdlip20 分钟前
电脑关机再开机会换IP吗?深入解析分配机制
网络协议·tcp/ip·电脑
鸿蒙布道师1 小时前
宇树科技安全漏洞揭示智能机器人行业隐忧
运维·网络·科技·安全·机器学习·计算机视觉·机器人
朱四龙2 小时前
http接口性能优化方案
网络协议·http·性能优化
爱学习的章鱼哥2 小时前
计算机网络|| 路由器和交换机的配置
网络·计算机网络·智能路由器
互联科技报3 小时前
声网对话式AI用于在线辅导,体验超出预期
网络
Hello.Reader5 小时前
ngx_http_limit_conn_module精准连接控制
网络·网络协议·http
qq_386322696 小时前
华为网路设备学习-21 IGP路由专题-路由过滤(filter-policy)
前端·网络·学习
巴巴_羊8 小时前
前端面经 计网 http和https区别
网络协议·http·https
LyaJpunov11 小时前
HTTPS全解析:从证书签发到TLS握手优化
网络协议·http·https