当前位置: 首页 > news >正文

seo比较好的网站网站描述关键词

seo比较好的网站,网站描述关键词,gif图片制作器,html怎么做网页websocket websocket是什么? websocket是一种网络通讯协议。 websocket 是HTML5开始提供的一种在单个TCP链接上进行全双工通讯的协议。 为什么需要websocket? 初次接触websocket#xff0c;都会带着疑惑去学习#xff0c;既然已经有了HTTP协议#xff0c;为什么还需要另一…websocket websocket是什么? websocket是一种网络通讯协议。 websocket 是HTML5开始提供的一种在单个TCP链接上进行全双工通讯的协议。 为什么需要websocket? 初次接触websocket都会带着疑惑去学习既然已经有了HTTP协议为什么还需要另一个协议它能带来什么好处呢很简单因为HTTP协议的通讯只能由客户端发起。 举列来说我想了解今天的天气只能是客户端向服务端发出请求服务器返回查询结果HTTP协议做不到服务器主动向客户端推送信息。 传统的HTTP协议是无状态的每次请求request都要由客户端浏览器主动发起服务端进行处理后返回response结果而服务端很难主动向客户端发送数据了这种客户端是主动方服务端是被动方的传统web模式对于信息变化不频繁的web应用来说造成的麻烦较小而对于涉及实时信息的web应用却带来了很大的不方便如带有即时通信实时数据订阅推送等功能的应用。 websocket的优势 相对于传统HTTP每次请求-应答都需要客户端与服务端简历连接的模式websocket是类似socket的TCP长连接通讯模式一旦websocket连接建立后后继数据都已帧序列的形式传输在客户端断开websocket连接活Server端终端连接前不需要客户端和服务端重新发起连接请求在海量并发及客户端与服务器交互负载流量大的情况下极大的节省了网络带宽资源的消耗有明显的性能优势且客户端发送和接受消息实在同一个持久连接上发起实时性优势明显。 websocket实现方式 websocket需要像TCP一样先建立连接需要客户端和服务端进行握手连接连接成功后才能湘湖通信。 websocket构造函数 websocket对象作为一个构造函数用于新建websocket实例 var ws new webSocket(ws://127.0.0.1:8090)执行上面语句之后客户端就会与服务器进行连接。 webSocket.readyState readyState属性返回实例对象的当前状态共有四种。 CONNECTING值为0表示正在连接。 OPEN值为1标识连接成功可以通信了。 CLOSING值为2标识连接正在关闭。 CLOSED值为3标识连接已经关闭或者打开链接失败。 webSocket.onerror 连接发生错误的回调方法 ws.onerror function(){alert(webSocket连接发生错误“) }webSocket.onclose 实例对象的onclose 属性用于指定关闭连接后的回调函数 ws.onclose function(){alert(websocket连接关闭) }webSocket.send() 实例对象的send()方法用于向服务器发送数据 ws.send(your message)总结完webSocket如何握手及其所有的方法下面进入实战 使用websocket实现图表数据动态实时更新 websocket 封装的websocket.js代码 /* WebSocket封装* param url: WebSocket接口地址与携带参数必填* param onOpenFunc: WebSocket的onopen回调函数如果不需要可传null* param onMessageFunc: WebSocket的onmessage回调函数如果不需要可传null* param onCloseFunc: WebSocket的onclose回调函数如果不需要可传null* param onErrorFunc: WebSocket的onerror回调函数如果不需要可传null* param heartMessage: 发送后台的心跳包参数,必填 (给服务端的心跳包就是定期给服务端发送消息)* param timer: 给后台传送心跳包的间隔时间不传时使用默认值3000毫秒* param isReconnect: 是否断掉立即重连不传true时不重连*/ function useWebSocket(url,onOpenFunc,onMessageFunc,onCloseFunc,onErrorFunc,heartMessage,timer,isReconnect) {let isConnected false; // 设定已链接webSocket标记// websocket对象let ws null;// 创建并链接webSocketlet connect () {// 如果未链接webSocket则创建一个新的webSocketif (!isConnected) {ws new WebSocket(url);isConnected true;}};// 向后台发送心跳消息let heartCheck () {// for (let i 0; i heartMessage.length; i) {// ws.send(JSON.stringify(heartMessage[i]))// }};// 初始化事件回调函数let initEventHandle () {ws.addEventListener(open, (e) {console.log(onopen, e);// 给后台发心跳请求在onmessage中取得消息则说明链接正常//heartCheck()// 如果传入了函数执行onOpenFuncif (!onOpenFunc) {return false;} else {onOpenFunc(e, ws);}});ws.addEventListener(message, (e) {// 接收到任何后台消息都说明当前连接是正常的if (!e) {console.log(get nothing from service);return false;} else {// 如果获取到后台消息则timer毫秒后再次发起心跳请求给后台检测是否断连setTimeout(() {if (isConnected) {heartCheck();}},!timer ? 3000 : timer);}// 如果传入了函数执行onMessageFuncif (!onMessageFunc) {return false;} else {onMessageFunc(e);}});ws.addEventListener(close, (e) {console.log(onclose, e);// 如果传入了函数执行onCloseFuncif (!onCloseFunc) {return false;} else {onCloseFunc(e);}// if (isReconnect) { // 如果断开立即重连标志为true// // 重新链接webSocket// connect()// }});ws.addEventListener(error, (e) {console.log(onerror, e);// 如果传入了函数执行onErrorFuncif (!onErrorFunc) {return false;} else {onErrorFunc(e);}if (isReconnect) {// 如果断开立即重连标志为true// 重新链接webSocketconnect();}});};// 初始化webSocket// (() {// 1.创建并链接webSocketconnect();// 2.初始化事件回调函数initEventHandle();// 3.返回是否已连接return ws;// })()}export default {useWebSocket,}; 调用方法并建立连接使用(当连接失败后进行websocket重连) initWebSocket() {if(!this.ws) {// urllet url ws://XXX.XXX.XXX.XXX:4002/websocket/11111this.ws websocket.useWebSocket(url, // urlthis.wsOnOpen, // 链接回调this.wsOnMessage, // 连接成功后处理接口返回信息this.wsOnClose, // 关闭回调this.wsOnError, // 消息通知错误回调[], // 发送后台的心跳包参数null, // 给后台传送心跳包的间隔时间true, // 是否断掉立即重连);}},wsOnOpen() {console.log(开始连接)},wsOnError(e) {console.log(e,消息通知错误回调重新连接)this.ws.close();this.ws null;this.initWebSocket();},wsOnMessage(e) {if(e.data ! 连接成功) {console.log(JSON.parse(e.data),接口返回信息)}},wsOnClose() {console.log(关闭)// 意外关闭之后重新连接if(!this.disConnectTimer) {this.disConnectTimer setTimeout(() {this.initWebSocket()this.disConnectTimer null}, 10000)}},实现效果 重连效果 完结~
http://www.zqtcl.cn/news/968179/

相关文章:

  • 北京学网站开发企业官网设计规范
  • wordpress google插件广州seo
  • 网站制作平台专门做推广的软文
  • 怎么用目录建wordpress站点怎样开发wordpress主题
  • 免费网站排名优化在线南通科技网站建设
  • 辽宁网站建设招标怎么建设像天猫的网站
  • 新闻类网站排版网站建设东莞正规网站建设
  • 网站开发亿玛酷出名5重庆公司买深圳社保
  • 网站建设开发报价单苏州网上注册公司流程
  • 网站开发包含河南洛阳网络公司
  • 个人网站建设方案书使用几号纸网站出租目录做菠菜 有什么坏处
  • 烟台做网站案例产品设计欣赏
  • 长安网站建设多少钱室内设计学校培训的
  • 驻马店北京网站建设怎么用网站做转换服务器
  • 成都网站建设cdxwcx百度搜索关键词排名优化推广
  • 框架网站怎么做o2o是什么意思的
  • 山东响应式网站网页设计素材电影
  • 新都区网站建设网站设计公司排行榜
  • 网站建设需求分析调研表建筑品牌网站
  • html5商城网站如何查询网站建设者
  • 做重视频网站教育网站改版方案
  • 小网站谁有网站上线后做什么
  • 松江网站建设培训手机网站你们
  • 荆州网站建设 众火网北京小客车指标调控管理信息系统
  • 域名和网站一样吗自己开发小程序要多少钱
  • 咨询公司网站源码手机优化软件哪个好用
  • 行业网站模板小型影视网站源码
  • 湖北网站建站系统哪家好微信小程序怎么注销账号
  • 温州网站推广公司沈阳网站建设服务电话
  • 2019年的阜南县建设修路网站洛阳哪里有做网站的