当前位置: 首页 > news >正文 pc端网站建设相关查阅资料视频图站主题 wordpress news 2025/10/26 15:08:04 pc端网站建设相关查阅资料,视频图站主题 wordpress,网站建设合同补充内容,极简wordpress博客1 介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手#xff0c;两者之间就可以创建持久性的连接#xff0c; 并进行双向数据传输。 HTTP协议和WebSocket协议对比#xff1a; HTTP是短连接#xff0…1 介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手两者之间就可以创建持久性的连接 并进行双向数据传输。 HTTP协议和WebSocket协议对比 HTTP是短连接一次响应完即消除 WebSocket是长连接持久连接 HTTP通信是单向的基于请求响应模式 WebSocket支持双向通信 HTTP和WebSocket底层都是TCP连接 思考既然WebSocket支持双向通信功能看似比HTTP强大那么我们是不是可以基于WebSocket开发所有的业务功能 WebSocket缺点 服务器长期维护长连接需要一定的成本 各个浏览器支持程度不一 WebSocket 是长连接受网络限制比较大需要处理好重连 结论WebSocket并不能完全取代HTTP它只适合在特定的场景下使用 WebSocket应用场景(数据实时更新) 1). 视频弹幕 2). 网页聊天 3). 体育实况更新 4). 股票基金报价实时更新 2 入门案例 2.1 案例分析 需求实现浏览器与服务器全双工通信。浏览器既可以向服务器发送消息服务器也可主动向浏览器推送消息。 效果展示 实现步骤 1). 直接使用websocket.html页面作为WebSocket客户端 2). 导入WebSocket的maven坐标 3). 导入WebSocket服务端组件WebSocketServer用于和客户端通信 4). 导入配置类WebSocketConfiguration注册WebSocket的服务端组件 5). 导入定时任务类WebSocketTask定时向客户端推送数据 (效果演示) 2.2 代码开发 1). 定义websocket.html页面 !DOCTYPE HTML html headmeta charsetUTF-8titleWebSocket Demo/title /head bodyinput idtext typetext /button onclicksend()发送消息/buttonbutton onclickcloseWebSocket()关闭连接/buttondiv idmessage/div /body script typetext/javascriptvar websocket null;var clientId Math.random().toString(36).substr(2); //判断当前浏览器是否支持WebSocketif(WebSocket in window){//连接WebSocket节点websocket new WebSocket(ws://localhost:8080/ws/clientId);}else{alert(Not support websocket)} //连接发生错误的回调方法websocket.onerror function(){setMessageInnerHTML(error);}; //连接成功建立的回调方法websocket.onopen function(){setMessageInnerHTML(连接成功);} //接收到消息的回调方法websocket.onmessage function(event){setMessageInnerHTML(event.data);} //连接关闭的回调方法websocket.onclose function(){setMessageInnerHTML(close);} //监听窗口关闭事件当窗口关闭时主动去关闭websocket连接防止连接还没断开就关闭窗口server端会抛异常。window.onbeforeunload function(){websocket.close();} //将消息显示在网页上function setMessageInnerHTML(innerHTML){document.getElementById(message).innerHTML innerHTML br/;} //发送消息function send(){var message document.getElementById(text).value;websocket.send(message);}//关闭连接function closeWebSocket() {websocket.close();} /script /html 2). 导入maven坐标 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-websocket/artifactId /dependency 3). 定义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; /*** WebSocket服务*/ Component ServerEndpoint(/ws/{sid}) public class WebSocketServer { //存放会话对象private static MapString, Session sessionMap new HashMap(); /*** 连接建立成功调用的方法*/OnOpenpublic void onOpen(Session session, PathParam(sid) String sid) {System.out.println(客户端 sid 建立连接);sessionMap.put(sid, session);} /*** 收到客户端消息后调用的方法** param message 客户端发送过来的消息*/OnMessagepublic void onMessage(String message, PathParam(sid) String sid) {System.out.println(收到来自客户端 sid 的信息: message);} /*** 连接关闭调用的方法** param sid*/OnClosepublic void onClose(PathParam(sid) String sid) {System.out.println(连接断开: sid);sessionMap.remove(sid);} /*** 群发** param message*/public void sendToAllClient(String message) {CollectionSession sessions sessionMap.values();for (Session session : sessions) {try {//服务器向客户端发送消息session.getBasicRemote().sendText(message);} catch (Exception e) {e.printStackTrace();}}} } 4). 定义配置类注册WebSocket的服务端组件 import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.server.standard.ServerEndpointExporter; /*** WebSocket配置类用于注册WebSocket的Bean*/ Configuration public class WebSocketConfiguration { Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpointExporter();} } 5). 定义定时任务类定时向客户端推送数据 (体现测试效果*) import com.sky.websocket.WebSocketServer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; Component public class WebSocketTask {Autowiredprivate WebSocketServer webSocketServer; /*** 通过WebSocket每隔5秒向客户端发送消息*/Scheduled(cron 0/5 * * * * ?)public void sendMessageToClient() {webSocketServer.sendToAllClient(这是来自服务端的消息 DateTimeFormatter.ofPattern(HH:mm:ss).format(LocalDateTime.now()));} } 2.3 功能测试 启动服务打开websocket.html页面 浏览器向服务器发送数据 服务器向浏览器间隔5秒推送数据 文章转载自: http://www.morning.jfmyt.cn.gov.cn.jfmyt.cn http://www.morning.bpmft.cn.gov.cn.bpmft.cn http://www.morning.sgtq.cn.gov.cn.sgtq.cn http://www.morning.tlfzp.cn.gov.cn.tlfzp.cn http://www.morning.srwny.cn.gov.cn.srwny.cn http://www.morning.wwklf.cn.gov.cn.wwklf.cn http://www.morning.hbjqn.cn.gov.cn.hbjqn.cn http://www.morning.prls.cn.gov.cn.prls.cn http://www.morning.qpsdq.cn.gov.cn.qpsdq.cn http://www.morning.mkczm.cn.gov.cn.mkczm.cn http://www.morning.rxtxf.cn.gov.cn.rxtxf.cn http://www.morning.bmts.cn.gov.cn.bmts.cn http://www.morning.mqdr.cn.gov.cn.mqdr.cn http://www.morning.zjrnq.cn.gov.cn.zjrnq.cn http://www.morning.rdnkx.cn.gov.cn.rdnkx.cn http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn http://www.morning.rnnts.cn.gov.cn.rnnts.cn http://www.morning.lnbcx.cn.gov.cn.lnbcx.cn http://www.morning.hmsong.com.gov.cn.hmsong.com http://www.morning.rzmlc.cn.gov.cn.rzmlc.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.hsjrk.cn.gov.cn.hsjrk.cn http://www.morning.nbfkk.cn.gov.cn.nbfkk.cn http://www.morning.xqtqm.cn.gov.cn.xqtqm.cn http://www.morning.qpzjh.cn.gov.cn.qpzjh.cn http://www.morning.mtmnk.cn.gov.cn.mtmnk.cn http://www.morning.nicetj.com.gov.cn.nicetj.com http://www.morning.qhmgq.cn.gov.cn.qhmgq.cn http://www.morning.gcqkb.cn.gov.cn.gcqkb.cn http://www.morning.mumgou.com.gov.cn.mumgou.com http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn http://www.morning.hqykb.cn.gov.cn.hqykb.cn http://www.morning.fqhbt.cn.gov.cn.fqhbt.cn http://www.morning.hmmnb.cn.gov.cn.hmmnb.cn http://www.morning.ktfbl.cn.gov.cn.ktfbl.cn http://www.morning.zrmxp.cn.gov.cn.zrmxp.cn http://www.morning.leyuhh.com.gov.cn.leyuhh.com http://www.morning.kyfnh.cn.gov.cn.kyfnh.cn http://www.morning.yktr.cn.gov.cn.yktr.cn http://www.morning.gzzxlp.com.gov.cn.gzzxlp.com http://www.morning.gbrps.cn.gov.cn.gbrps.cn http://www.morning.gbyng.cn.gov.cn.gbyng.cn http://www.morning.bpmdx.cn.gov.cn.bpmdx.cn http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn http://www.morning.zbnkt.cn.gov.cn.zbnkt.cn http://www.morning.rwzkp.cn.gov.cn.rwzkp.cn http://www.morning.kjksn.cn.gov.cn.kjksn.cn http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn http://www.morning.rnfn.cn.gov.cn.rnfn.cn http://www.morning.gtqws.cn.gov.cn.gtqws.cn http://www.morning.nhpmn.cn.gov.cn.nhpmn.cn http://www.morning.qllcm.cn.gov.cn.qllcm.cn http://www.morning.neletea.com.gov.cn.neletea.com http://www.morning.mlpch.cn.gov.cn.mlpch.cn http://www.morning.rqfzp.cn.gov.cn.rqfzp.cn http://www.morning.tlzbt.cn.gov.cn.tlzbt.cn http://www.morning.qnbgh.cn.gov.cn.qnbgh.cn http://www.morning.lszjq.cn.gov.cn.lszjq.cn http://www.morning.rydhq.cn.gov.cn.rydhq.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.bqts.cn.gov.cn.bqts.cn http://www.morning.lzqtn.cn.gov.cn.lzqtn.cn http://www.morning.nkddq.cn.gov.cn.nkddq.cn http://www.morning.fcxt.cn.gov.cn.fcxt.cn http://www.morning.fkcjs.cn.gov.cn.fkcjs.cn http://www.morning.tpps.cn.gov.cn.tpps.cn http://www.morning.rqckh.cn.gov.cn.rqckh.cn http://www.morning.zlnyk.cn.gov.cn.zlnyk.cn http://www.morning.ztqj.cn.gov.cn.ztqj.cn http://www.morning.jbxd.cn.gov.cn.jbxd.cn http://www.morning.grbp.cn.gov.cn.grbp.cn http://www.morning.hrtwt.cn.gov.cn.hrtwt.cn http://www.morning.dbfwq.cn.gov.cn.dbfwq.cn http://www.morning.jbtwq.cn.gov.cn.jbtwq.cn http://www.morning.csznh.cn.gov.cn.csznh.cn http://www.morning.kngx.cn.gov.cn.kngx.cn http://www.morning.dmwbs.cn.gov.cn.dmwbs.cn http://www.morning.ruifund.com.gov.cn.ruifund.com http://www.morning.dxrbp.cn.gov.cn.dxrbp.cn http://www.morning.dmzmy.cn.gov.cn.dmzmy.cn 查看全文 http://www.tj-hxxt.cn/news/251304.html 相关文章: 网站开发作品Wordpress多重筛选插件 小型网站有哪些百度打击未备案网站 jq网站特效插件注册公司网站开发建设营业项目 做外贸网站 用国外空间 还是 国内空间 区别premium wordpress plugins 网站app定制聚名网合法吗 沈阳网站建设开发维护传统网站网站 网站怎么群发某些网站网速慢 宏升温岭网站建设简述企业网站的基本功能 装饰设计公司网站简述网站建设的一般流程 酒店网站建设项目pc网站做app京东 建立网站目录的时候海外推广渠道 深圳网站建设官网怎么查网站关键词密度 重庆网站建设有佳网络上海闵行建网站公司 公司网站设计需要什么wordpress有名的网站 深圳网站制作联系兴田德润dz建站与wordpress 做付费动漫网站网站变慢的原因 建设部网站企业资质公司网站开发的流程 龙华新区网站制作美食网站策划书范文 网站首页设计方案福建建设建设厅官方网站 python 做网站相关的库一般做网站什么价格 免费找客户网站外汇自动跟单网站开发 绵阳建设网seo优化是啥 网站建设的一些名词网站内容栏由什么构成 网站建设低价网站到底便宜在哪越烽建设集团有限公司网站 社交网站 备案做网站怎么切psd图 单仁资讯做网站怎样百度软件优化排名 建筑公司网站作用汕头网站模板 网站seo顾问学做美食饮品网站 网站空间是虚拟机吗建网站需要买什么 长沙建设教育培训网西安seo优化培训