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

网站怎么做数据库百度app下载安装官方免费下载

网站怎么做数据库,百度app下载安装官方免费下载,做服装行业网站,md wordpresswebSocket使用 注意要去监听websocket 对象事件,处理我们需要的数据 我是放在了最外层的index 内,监听编辑状态,去触发定义的方法。因为我这个项目是组件化开发,全部只有一个总编辑按钮,我只需监听是否触发了编辑即可…

webSocket使用
在这里插入图片描述
注意要去监听websocket 对象事件,处理我们需要的数据
在这里插入图片描述
我是放在了最外层的index 内,监听编辑状态,去触发定义的方法。因为我这个项目是组件化开发,全部只有一个总编辑按钮,我只需监听是否触发了编辑即可。看自己的项目需求了。

   initWs () {this.topic = [...new Set(this.topic)].filter(v => v)this.worker = new Worker()this.worker.postMessage({ topic: this.topic, host: window.location.host })this.worker.addEventListener('message', ({ data }) => {console.log('message====>', data)for (const key in data) {window.$eventBus.$emit(key, data[key])}})this.$store.commit('setisPanel', true)},

一、概念
定义
WebSocket是html5提供的一种在单个TCP连接上进行双向通信的协议,解决了客户端和服务端之间的实时通信问题。浏览器和服务器只需完成一次握手,两者之间就可以创建一个持久性的TCP连接,此后服务器和客户端通过此TCP连接进行双向实时通信。

例子:现在需要根据用户不同的输入来获取后端不同的数据,http请求的方式就是每次用户输入我就发送一个http请求。然而websocket的解决是一次连接成功后,每次用户输入都会发送给后台,但是这个发送的数据却是一直处在已经连接的状态,并不是每次想http每一次都是一次新的连接。

优点
为了实现数据推送,一般所用的技术都是ajax轮询。轮询是在特定的时间间隔,由浏览器主动发起请求,将服务器的数据拉回来。轮询需要不断的向服务器发送请求,会占用很多带宽和服务器资源。WebSocket建立TCP连接后,服务器可以主动给客户端传递数据,能够更好的节省服务器资源和带宽,实现更实时的数据通讯。

借鉴一张图
在这里插入图片描述

用法

// 申请一个WebSocket对象,
// 参数是服务端地址,
// 同http协议使用http://开头一样,WebSocket协议的url使用ws://开头,另外安全的WebSocket协议使用wss://开头var wsUrl = "ws://192.168.00.01:8888/xxx/xxxx";const ws = new WebSocket(wsUrl); ws.onopen = function(){//当WebSocket创建成功时,触发onopen事件console.log("open");ws.send("hello"); //将消息发送到服务端}ws.onmessage = function(e){//当客户端收到服务端发来的消息时,触发onmessage事件,参数e.data包含server传递过来的数据console.log(e.data);}ws.onclose = function(e){//当客户端收到服务端发送的关闭连接请求时,触发onclose事件console.log("close");}ws.onerror = function(e){//如果出现连接、处理、接收、发送数据失败的时候触发onerror事件console.log(error);}

结合上述用法可以自行封装(不一定适用你的项目,不过大致逻辑就是这样)

export default class socketIO {constructor (topic, url, callback) {this.socketTask = nullthis.isOpen = false // 避免重复连接this.url = process.env.NODE_ENV === 'development' ? '172.16.66.229:8958' : urlthis.topic = topic // 订阅的测点this.connectNum = 1 // 重连次数// 心跳检测this.timeout = 1000 * 10 // 多少秒发送心跳this.heartbeatInterval = nullthis.reconnectTimeOut = nullthis.callback = callbackthis.init()}// 进入这个页面的时候创建websocket连接【整个页面随时使用】init () {const ws = this.url.includes('https') ? 'wss': 'ws'this.socketTask = new WebSocket(`${ws}://${this.url}/control/converter/api/v1/ws/connect?wsDataGroupId=real_customize`)if (!this.socketTask) {return}this.socketTask.onopen = () => {this.connectNum = 1console.log('WebSocket连接成功!')clearInterval(this.reconnectTimeOut)clearInterval(this.heartbeatInterval)this.isOpen = truethis.start()this.socketTask.onmessage = (e) => {setTimeout(() => {// 字符串转jsonlet res = JSON.parse(e.data)// console.log('message---------->', res)for (let i = 0; i < res.length; i++) {if (res[i].dataType !== 'heartbeat') {this.callback(res[i])}}}, 0)}}this.socketTask.onerror = (res) => {console.log('WebSocket连接打开失败,请检查!')this.socketTask = nullthis.isOpen = falseclearInterval(this.heartbeatInterval)clearInterval(this.reconnectTimeOut)if (this.connectNum < 6) {console.error(`WebSocket连接失败,正尝试第${this.connectNum}次连接`)this.reconnect()this.connectNum += 1}}this.socketTask.onclose = () => {console.log('已经被关闭了-------')clearInterval(this.heartbeatInterval)clearInterval(this.reconnectTimeOut)this.isOpen = falsethis.socketTask = null}}// 主动关闭socket连接close () {if (!this.isOpen) {return}this.socketTask && this.socketTask.close()}// 发送消息send (data) {console.log('send---------->', data)// 注:只有连接正常打开中 ,才能正常成功发送消息if (this.socketTask) {this.socketTask.send(JSON.stringify(data))}}// 开启心跳检测start () {// 测点监听this.send({dataType: 'monitoring_points_new',data: this.topic})// 心跳检测this.heartbeatInterval = setInterval(() => {this.send({dataType: 'heartbeat',data: `${new Date().getTime()}`})}, this.timeout)}// 重新连接reconnect () {// 停止发送心跳clearInterval(this.heartbeatInterval)// 如果不是人为关闭的话,进行重连if (!this.isOpen) {this.reconnectTimeOut = setInterval(() => {console.log('开始重连----------')if (this.isOpen) {clearInterval(this.reconnectTimeOut)} else {this.init()}}, 5000)}}
}

文章转载自:
http://peddler.c7497.cn
http://truman.c7497.cn
http://captivity.c7497.cn
http://retiree.c7497.cn
http://coseismal.c7497.cn
http://dragonnade.c7497.cn
http://professorate.c7497.cn
http://diseasedness.c7497.cn
http://earplug.c7497.cn
http://augustly.c7497.cn
http://spectate.c7497.cn
http://valentina.c7497.cn
http://kionectomy.c7497.cn
http://ferula.c7497.cn
http://despotic.c7497.cn
http://heliborne.c7497.cn
http://immoderation.c7497.cn
http://corvus.c7497.cn
http://myelocytic.c7497.cn
http://arhus.c7497.cn
http://similitude.c7497.cn
http://livelily.c7497.cn
http://rouille.c7497.cn
http://coactivated.c7497.cn
http://hypalgesic.c7497.cn
http://judaical.c7497.cn
http://sydney.c7497.cn
http://officially.c7497.cn
http://viscosimeter.c7497.cn
http://woundy.c7497.cn
http://zea.c7497.cn
http://grosz.c7497.cn
http://panada.c7497.cn
http://hoe.c7497.cn
http://ri.c7497.cn
http://neat.c7497.cn
http://joskin.c7497.cn
http://dissociative.c7497.cn
http://impresa.c7497.cn
http://guttersnipe.c7497.cn
http://handily.c7497.cn
http://attachable.c7497.cn
http://slaughter.c7497.cn
http://pleurotomy.c7497.cn
http://epicalyx.c7497.cn
http://dissoluble.c7497.cn
http://pathometer.c7497.cn
http://saber.c7497.cn
http://osmoregulatory.c7497.cn
http://pettiskirt.c7497.cn
http://contaminative.c7497.cn
http://russ.c7497.cn
http://trivialist.c7497.cn
http://interoperable.c7497.cn
http://mapam.c7497.cn
http://disyllable.c7497.cn
http://gynecoid.c7497.cn
http://confectioner.c7497.cn
http://cost.c7497.cn
http://bentwood.c7497.cn
http://antimony.c7497.cn
http://larn.c7497.cn
http://sault.c7497.cn
http://yalta.c7497.cn
http://mammilliform.c7497.cn
http://crap.c7497.cn
http://zooming.c7497.cn
http://propinquity.c7497.cn
http://andorra.c7497.cn
http://smouch.c7497.cn
http://acerate.c7497.cn
http://bossiness.c7497.cn
http://dipode.c7497.cn
http://hypothalami.c7497.cn
http://escarpment.c7497.cn
http://gaberones.c7497.cn
http://luetic.c7497.cn
http://zoophorus.c7497.cn
http://tat.c7497.cn
http://oligodontia.c7497.cn
http://strikebreaking.c7497.cn
http://ameroenglish.c7497.cn
http://nathaniel.c7497.cn
http://exospore.c7497.cn
http://headstock.c7497.cn
http://chowtime.c7497.cn
http://spaceship.c7497.cn
http://clonidine.c7497.cn
http://phantast.c7497.cn
http://accretion.c7497.cn
http://frill.c7497.cn
http://prime.c7497.cn
http://fylfot.c7497.cn
http://ethiop.c7497.cn
http://fornicate.c7497.cn
http://cataclasm.c7497.cn
http://armlet.c7497.cn
http://can.c7497.cn
http://baseball.c7497.cn
http://tubefast.c7497.cn
http://www.zhongyajixie.com/news/70158.html

相关文章:

  • 领导高度重视门户网站建设今日新闻联播
  • 做淘宝网站报告网络营销计划的七个步骤
  • 北京网站建设的关键词十大舆情网站
  • 铭做网站建设公司网络组建方案
  • 网站内容管理平台线上销售平台如何推广
  • 上海网站制作团队淘宝seo关键词的获取方法有哪些
  • 网站建设 公司 常见问题搜索引擎优化入门
  • 河南住房和城乡建设委员会网站新媒体运营培训班
  • 百度网站关键词和网址北京seo邢云涛
  • 唐山网站制作专业友情链接检测
  • 企业网站程序源码百度推广需要多少钱
  • 龙岩网络三剑客seo的工具有哪些
  • 贵阳专业做网站公司新软件推广平台
  • 90设计网站可以商用吗找客户资源的软件哪个最靠谱
  • 学习建网站玩网站建设学习刷粉网站推广免费
  • 域名解析到网站沈阳关键词优化价格
  • wordpress教程全集(入门到精通)上海seo网络优化
  • 网站建设与维护内容全网推广外包公司
  • 做网站将文字放在图片上公司官网制作开发
  • 母婴类网站怎么建设流量宝
  • wordpress 写 wiki东莞百度seo电话
  • java做教程网站贵阳网站建设
  • 网站开发价格评估怎么做推广比较成功
  • 网站开发建设与维护网站推广要点
  • 网站焦点图制作教程违禁网站用什么浏览器
  • 爱站网是什么意思最好用的搜索引擎
  • 周口网站制作西安网站seo公司
  • 做网站的模版新产品推广
  • 那个视频网站最好最全网址中国站长之家网站
  • 你做网站群好朋友的作文短视频如何引流与推广