杭州哪里做网站好做ptt有什么好的模板网站

张小明 2026/1/19 22:23:59
杭州哪里做网站好,做ptt有什么好的模板网站,个人公众号,wordpress多设备网页生成#x1f4ac; 前言#xff1a;为什么轮询 (Polling) 被淘汰了#xff1f; 在 Web 1.0 时代#xff0c;如果我们要实现“收到新消息提醒”#xff0c;通常只能让前端每隔 2 秒发一次 HTTP 请求问后端#xff1a;“有新消息吗#xff1f;” 这叫短轮询。 缺点#xff1… 前言为什么轮询 (Polling) 被淘汰了在 Web 1.0 时代如果我们要实现“收到新消息提醒”通常只能让前端每隔 2 秒发一次 HTTP 请求问后端“有新消息吗”这叫短轮询。缺点服务器压力大99% 的请求都是无用的且消息有延迟。到了 Web 2.0WebSocket横空出世。它像一条**“专线管道”一旦建立连接服务器就可以主动**把消息推给前端。优点零延迟服务器资源消耗极低全双工通讯。今天我们就用最主流的Spring Boot Vue3在 30 分钟内手撸一个多人在线聊天室️ 系统架构一条永不断的线我们要实现的功能用户登录输入昵称。进入群聊显示在线人数。发送消息所有人包括自己实时收到。架构设计图WebSocket_Server_内存1. 建立 WS 连接1. 建立 WS 连接2. 发送消息 Hello3. 查找所有在线 Session4. 推送消息4. 推送消息ConcurrentHashMap Session池用户 A Vue3Spring Boot 后端用户 B Vue3 后端实战Spring Boot WebSocket不需要 NettySpring Boot 自带的 WebSocket 模块足够应对中小规模场景。1. 引入依赖dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId/dependency2. 开启支持 (WebSocketConfig.java)ConfigurationpublicclassWebSocketConfig{BeanpublicServerEndpointExporterserverEndpointExporter(){returnnewServerEndpointExporter();}}3. 核心服务 (WebSocketServer.java)这是整个聊天室的心脏。ServerEndpoint(/ws/{username})// 前端连接地址: ws://localhost:8080/ws/张三ComponentSlf4jpublicclassWebSocketServer{// 存放每个客户端对应的 WebSocketServer 对象privatestaticConcurrentHashMapString,SessiononlineSessionsnewConcurrentHashMap();OnOpenpublicvoidonOpen(Sessionsession,PathParam(username)Stringusername){onlineSessions.put(username,session);broadcast(系统消息: 欢迎用户 [username] 加入群聊);}OnClosepublicvoidonClose(PathParam(username)Stringusername){onlineSessions.remove(username);broadcast(系统消息: 用户 [username] 已离开。);}OnMessagepublicvoidonMessage(Stringmessage,Sessionsession,PathParam(username)Stringusername){// 收到消息转发给所有人broadcast(【username】: message);}// 群发消息辅助方法privatevoidbroadcast(Stringmsg){onlineSessions.forEach((user,session)-{try{session.getBasicRemote().sendText(msg);}catch(IOExceptione){e.printStackTrace();}});}} 前端实战Vue 3 Composition APIVue3 写 WebSocket 简直不要太丝滑。templatedivclasschat-boxdivclassmsg-listrefmsgRefdivv-formsg in msgList:keymsg{{ msg }}/div/divdivclassinput-areainputv-modelinputMsgplaceholder输入消息.../buttonclicksendMsg发送/button/div/div/templatescriptsetupimport{ref,onMounted,onUnmounted}fromvue;constusernameUser_Math.floor(Math.random()*1000);constsocketUrlws://localhost:8080/ws/${username};constmsgListref([]);constinputMsgref();letwsnull;onMounted((){initWebSocket();});constinitWebSocket(){wsnewWebSocket(socketUrl);ws.onopen(){msgList.value.push(✅ 连接服务器成功...);};ws.onmessage(event){// 收到后端推送的消息msgList.value.push(event.data);};};constsendMsg(){if(wsinputMsg.value){ws.send(inputMsg.value);inputMsg.value;}};onUnmounted((){if(ws)ws.close();// 页面销毁时断开连接});/script️ 进阶挑战心跳检测与断线重连在真实生产环境中网络是不稳定的。如果用户断网了WebSocket 连接会“假死”。你需要实现心跳机制 (Heartbeat)Ping/Pong前端每隔 30 秒发送一个 “PING”后端回复 “PONG”。断线重连前端监听ws.onclose事件如果非主动断开则在 5 秒后尝试重新new WebSocket()。(这部分代码在下方的源码中均有体现) 源码推荐与下载如果你想看企业级的 IM 架构支持千万级并发、集群部署、Redis 存储离线消息那么仅仅看 Spring Boot 原生 WebSocket 是不够的你需要引入Netty。我为你精选了一个 GitHub 上1.4万 Star的神级项目它是 Java 领域即时通讯的标杆。开源项目CIM (Cross-platform Instant Messaging)GitHub 地址https://github.com/crossoverJie/cim推荐理由基于Netty Spring Boot Redis构建性能吊打原生 WebSocket。代码结构清晰包含命令行客户端、Web 客户端、安卓客户端。文档极其详细适合做毕业设计或企业内部通讯系统的底座。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设书案例网页管理平台

构建类型安全的MongoDB应用:Pydantic数据验证全流程解析 【免费下载链接】pydantic Data validation using Python type hints 项目地址: https://gitcode.com/GitHub_Trending/py/pydantic 在现代应用开发中,MongoDB作为文档数据库的灵活性优势明…

张小明 2026/1/17 22:51:48 网站建设

免费域名注册申请河源seo

和生创新技术 安卓开发工程师 职位描述 岗位职责: 1.负责Android App功能开发和维护; 2.参与Android端性能、稳定性、DevOps方面的建设; 3.负责项目重点、难点的技术攻坚及新技术预研; 4.负责高质量的技术设计和编码,设计良好的代码结构,不断迭代重构; 岗位要求: 1.…

张小明 2026/1/17 22:51:45 网站建设

网站推广服务商域名可以免费注册码

B站字幕下载神器:新手完整使用指南 【免费下载链接】BiliBiliCCSubtitle 一个用于下载B站(哔哩哔哩)CC字幕及转换的工具; 项目地址: https://gitcode.com/gh_mirrors/bi/BiliBiliCCSubtitle 还在为无法下载B站视频字幕而烦恼吗?BiliBiliCCSubtitl…

张小明 2026/1/17 22:51:47 网站建设

西安便宜做网站湖北长安建设网站

还在为城通网盘下载限速而烦恼吗?ctfileGet项目为您提供了一套完整的城通网盘解析解决方案,让您彻底告别蜗牛般的下载速度。这款开源工具采用先进的解析技术,能够在1.2秒内将城通网盘分享链接转换为高速直连地址,大幅提升您的文件…

张小明 2026/1/17 22:51:46 网站建设

娱乐城网站开发懒人图库

第一章:AI自动上分时代来临?(Open-AutoGLM王者荣耀实战揭秘)在电竞与人工智能交汇的前沿,AI是否已具备自主参与MOBA类游戏并实现“自动上分”的能力?通过结合开源大模型框架 Open-AutoGLM 与图像识别、动作…

张小明 2026/1/17 22:51:46 网站建设