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

关于网站建设需要的研究方法珠海市建设工程信息网

关于网站建设需要的研究方法,珠海市建设工程信息网,公司 网站 模板,WordPress主题安全检查1、原理 websocket就是通过服务器向客户端推送消息,客户端也可以主动向服务器发送消息,是真正的双向平等对话,是一种长连接,只需要通过一次请求进行初始化。 2、事件 onopen: 客户端和服务器建立连接后触发,被称为客…

1、原理

websocket就是通过服务器向客户端推送消息,客户端也可以主动向服务器发送消息,是真正的双向平等对话,是一种长连接,只需要通过一次请求进行初始化。

2、事件

  • onopen: 客户端和服务器建立连接后触发,被称为客户端和服务器之间的初始握手。如果接收到open, 说明已经连接成功,可以进行通信了。
  • onmessage: 接收到消息时触发。服务器发送给客户端的消息可包括纯文本消息,二进制数据(Blob消息或者ArrayBuffer消息)。
  • onerror: 响应意外故障时触发,在错误之后总是会终止连接。
  • onclose:连接关闭时触发。一旦连接关闭后,客户端和服务端将不会再进行消息的收发。也可主动调用close()方法关闭连接

3、方法

  • send() : 在连接成功后关闭前,发送消息(onopen后和onclose前才可发送消息)
    • 参数:
      data: 要发送的数据,可以是字符串、二进制数据或者 Blob 对象。
  • close() : 关闭连接
    • 参数:
      code (可选): 一个数字,表示连接关闭的状态码。常见的状态码有 1000 表示正常关闭,1001 表示端点离开,等等。
      reason (可选): 一个字符串,表示连接关闭的原因。

4、实际应用

一般在登录后系统初始化的时候建立连接,使用vue的全局路由导航守卫可轻松实现

/*** 创建websocket连接* @param {{}} data 请求数据* @returns {Object}**/
export function connectSocket(data = {}) {// 连接错误error仅可重启3次let reloadTime = 3, timer;webSocketInit();function webSocketInit() {// 本次sess存储webSocket连结状态,在异常/关闭连结时,重新心跳起来window.sessionStorage.setItem('connSocket', '1')if (window.webSocket) window.webSocket.close();// 测试地址不可用替换为自己的地址ws或wss开头const ws = window.webSocket = new WebSocket('ws://124.222.224.186:8800');ws.onopen = () => {// window.sessionStorage.setItem('onopen', new Date().getTime());// 调用订阅消息的接口ws.send(JSON.stringify(data));};// 连接关闭ws.onclose = () => {// window.sessionStorage.setItem('onclose', new Date().getTime());window.sessionStorage.setItem('connSocket', '0')reconnect('close');};// 接收服务器推送消息ws.onmessage = (res) => {const messData = JSON.parse(res.data)ElNotification.info({title: '消息通知',message: messData.data ? JSON.parse(messData.data).message : ''});};// 连接发生错误时ws.onerror = () => {// window.sessionStorage.setItem('onerror', new Date().getTime());window.sessionStorage.setItem('connSocket', '0')reconnect('error');}}// 重连function reconnect(mode) {window.clearTimeout(timer);// 连接错误仅可重启3次if (mode === 'error' && reloadTime <= 0) return false;// connSocket为0时才可重启if (window.sessionStorage.getItem('connSocket') === '1') return false;timer = setTimeout(function () {reloadTime--;webSocketInit();}, 2000);}
}
http://www.yayakq.cn/news/649777/

相关文章:

  • 做视频网站玩什么配置正规推广平台
  • 张家港网站制作公司搜索关键词
  • 购物网站排名2017广州网站建设哪家公司好
  • quot 网站建设话术 quotwordpress主题克隆
  • 网站建设报价乱不一城乡建设局网站
  • 可以免费学编程的网站wordpress博客收录查询
  • 做网站是用什么语言网站类的知识
  • 江苏省交通运输厅门户网站建设管理办法澄海建网站
  • 选择一个域名进行网站建设临海市住房和城乡建设规划局 网站
  • 福安建设网站重视网站阵地建设
  • 江西专业的网站建设制作鹰潭市建设局网站
  • 广西住房和城乡建设厅网站主页建设手机网站公司
  • 北京企业网站建设推荐wordpress做动态页面
  • 手机app 网站宿迁房价2023年最新房价
  • 国际站wap端流量广州深圳做网站
  • 重庆网站界面设计昆明做网站的旅行社
  • 网站小视频怎么做的网站后台开发需求
  • 好的文化网站模板ui设计接单价目表
  • 企业网站app制作价格做电锯电音的网站
  • 文字做图网站营销型企业网站名词解释
  • 甘肃做网站找谁上海手机站网站建设
  • 做平台网站外包多少钱啊怎么做电影引流网站
  • 郑州平台网站建设郑州发布紧急通告
  • wordpress调字体大小长春网站快照优化公司
  • 廊坊cms建站系统个人网页设计的主要内容和要求
  • 个人网站免费服务器typora wordpress
  • 同ip下网站北辰手机网站建设
  • 鹿寨县建设局网站wordpress环保公司主题
  • 凡诺企业网站管理系统站长推荐跳转
  • 徐州建设工程交易网浙江公正白帽优化关键词排名seo