首页 > 其他分享 >websocket服务端,运行后始终无法连接的解决方案

websocket服务端,运行后始终无法连接的解决方案

时间:2023-07-30 10:04:31浏览次数:35  
标签:websocket String 解决方案 session static sid sessionsMap public 服务端


javax.websocket.DeploymentException: The HTTP response from the server [404] did not permit the HTTP

解决办法:少两个文件:


WebSocketConfig.java


@Configuration
public class WebSocketConfig {

    /**
     * 注入一个ServerEndpointExporter,该Bean会自动注册使用@ServerEndpoint注解申明的websocket endpoint
     */
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }

}



WebSocketManager.java

@Component
public class WebSocketManager {
    private static final Map<String, List<Session>> sessionsMap = new ConcurrentHashMap<>();

    public static void addSession(String sid, Session session) {
        sessionsMap.computeIfAbsent(sid, k -> new CopyOnWriteArrayList<>()).add(session);
    }

    public static void removeSession(String sid, Session session) {
        List<Session> sessionList = sessionsMap.get(sid);
        if (sessionList != null) {
            sessionList.remove(session);
            if (sessionList.isEmpty()) {
                sessionsMap.remove(sid);
            }
        }
    }

    public static List<Session> getSessions(String sid) {
        return sessionsMap.getOrDefault(sid, Collections.emptyList());
    }

    public static void sendToAll(String sid, String message) throws IOException {
        for (Session session : getSessions(sid)) {
            session.getBasicRemote().sendText(message);
        }
    }
}

加上这两个文件,就可以了

标签:websocket,String,解决方案,session,static,sid,sessionsMap,public,服务端
From: https://blog.51cto.com/ewwerpm/6898598

相关文章

  • GoRedisLock:Golang保障数据一致性的分布式锁解决方案
    在现代分布式系统中,多个节点之间共享资源是常见的需求。然而,并发访问共享资源可能导致数据不一致性和竞争条件。为了解决这些问题,我们需要引入分布式锁。GoRedisLock是一个出色的分布式锁库,它结合了Go语言和Redis的优势,提供了稳定高效的分布式并发控制解决方案。**项目地址:**htt......
  • 【结合业务需求给出合理的技术解决方案,改进现有模块功能,提高系统的可扩展性,封装性,稳定
    一、技术解决方案随着企业规模的扩大和业务量的增加,企业信息系统的可扩展性、封装性、稳定性等方面的要求越来越高。针对这些问题,我们可以采用以下技术解决方案:1.采用云计算技术云计算技术能够提供高度可扩展和可靠的基础设施,具有快速、弹性、高效的特点,可以大大提高系统的可扩......
  • PPT| 智慧农牧业解决方案P57
    PPT共57页,由于篇幅有限,以下为部分资料,需要PPT资料的朋友可以关注我,私信我。......
  • 嵌入式开发解决方案行业市场规模调研及数据分析报告2023
    2023年全球及中国嵌入式开发解决方案行业头部企业市场占有率及排名调研报告2022年全球嵌入式开发解决方案市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国嵌入式开发解决方案......
  • ESP32连接云服务器【WebSocket】
    ESP32连接云服务器【ESP32+宝塔面板】......
  • 国标GB28181视频平台LntonGBS(源码版)国标视频平台大并发下SIP消息出现重复SN号的问题解
    随着国家倡导平安城市、智慧城市的建设,安防视频监控作为智慧城市安防建设的重要环节,也越来越受到重视。LntonGBS是基于公安部推出的安防主流协议(国标GB28181协议)的视频接入、处理及分发平台,具有视频直播监控、云端录像、云存储、检索回放、智能告警、语音对讲、平台级联等功能。我......
  • 传奇服务端Gom引擎补丁不显示外观的解决办法
    gom引擎的服务端出线了打好补丁安装好显示还是透明,这种情况是安装目录出现了问题。 第一步确定一下版本补丁的安装路径。 一种就是常见的安装方法,X:\热血传奇\data\这种就是最常见的,很多人往往就塞这里面去。 一种就是Gom引擎的版本安装方式:因为很多版本制作者命名自己的补丁文......
  • Mac+Python+youtube_dl下载国外网站视频遇到的坑以及解决方案
    一、问题描述想使用Python中的youtube_dl下载youtube的视频,源码如下:importyoutube_dllink=['https://www.youtube.com/shorts/xxx']withyoutube_dl.YoutubeDL()asydl:ydl.download(link)  但是下载的时候报错了,报错如下:  youtube_dl.utils.Download......
  • 印刷行业MES系统解决方案
        MES制造执行系统印刷作为现代加工服务业,又具有文化产业属性,服务领域不断拓展,在我国社会主义物质文明、政治文明、精神文明建设中发挥着重要作用,成为我国国民经济重要产业部门。印刷这个传统产业,必须从信息化寻求节约成本的空间、追求更大利润化。在印刷业近两年从传统印......
  • js实现websocket
    import{UserManager}from"@/utils/userManager.js";classwebSocketClass{constructor(url="ws://127.0.0.1:8088/",time=3){this.url=urlthis.filterMessagesList=[""];//服务端返回的内容message事件不监听的内容,不会再message返回......