博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
websocket 协议 使用
阅读量:7043 次
发布时间:2019-06-28

本文共 1400 字,大约阅读时间需要 4 分钟。

1、websocket简介

websocket最主要特点是:服务器可以主动给浏览器发送消息,而不是被动接收浏览器请求。

websock协议可以参考:

2、实现代码

(1)websocket.js

let websock;// 持续连接function connection(wsuri) {  websock = new WebSocket(wsuri);  // 建立连接  websock.onopen = function(e) {    console.log('收到服务器握手包.');    setInterval(function() {      let agentData = {'name': 'ping', 'message': 'message'}      websocketsend(agentData)    }, 30000)  }  // 断开连接  websock.onclose = function(e) {    console.log('和服务器断开连接! (' + e.code + ')');  }  // 连接发生错误  websock.onerror = function() {    console.log('websock连接发生错误');  }}// 业务代码发送数据function sendSock(agentData) {  console.log('agentData', agentData)  // 链接成功,可以通信  if (websock.readyState === websock.OPEN) {    websocketsend(agentData);  } else if (websock.readyState === websock.CONNECTING) {    // 若是正在链接,则等待1s后重新调用    setTimeout(function() {      sendSock(agentData);    }, 1000);  } else {    // 若未开启 ,则等待1s后重新调用    setTimeout(function() {      sendSock(agentData);    }, 1000);  }}// 数据发送function websocketsend(agentData) {  websock.send(JSON.stringify(agentData));}export {connection, sendSock, websock}

(2)业务代码

//注意修改路径import * as websocket from 'websocket.js' //vue mounted时挂在websocketmounted() {    websocket.connection(yourUrl)    // onmessage 用于指定收到服务器数据后的回调函数。    websocket.websock.onmessage = (e) => {     //业务处理    }  }methods:{handleEvent() {//发送数据websocket.sendSock(yourParams)}}

(3)websockt需要服务端配置好服务。

转载地址:http://lgqal.baihongyu.com/

你可能感兴趣的文章
SQL Server-聚焦ROW_NUMBER VS TOP N性能
查看>>
少用数字来作为参数标识含义
查看>>
不错位的java .class 反编译工具推荐
查看>>
SQLServer 数据库镜像+复制切换方案
查看>>
element el-input directive数字
查看>>
package-lock.json和yarn.lock的包依赖区别
查看>>
SpringBoot+websocket+定时任务(如何及时实时响应服务端数据)
查看>>
PHP回顾之协程
查看>>
Do you want to be a Python expert ? 前言
查看>>
MvnForum源码环境配置
查看>>
【Java并发编程的艺术】第二章读书笔记之原子操作
查看>>
JS设计模式-策略模式
查看>>
SegmentFault 社区访谈 | Linxz:只会写 CSS 不会写 JS 的“伪”前端
查看>>
log4net 普通文件、数据库日志
查看>>
算法学习——DP篇
查看>>
Springboot 之 引入Thymeleaf
查看>>
webpack学习笔记2 起步
查看>>
注解全解析
查看>>
map函数的使用技巧
查看>>
Laravel5.2 自定义类引入和命名空间问题
查看>>