第一步:封装socket.js

import { Message } from 'iview';class Socket {constructor (wsurl, binaryType){this.wsurl = wsurlthis.websock = nullthis.binaryType = binaryTypethis.initWebSocket()}initWebSocket(){var that = thisthis.websock = new WebSocket(this.wsurl)if(this.binaryType){this.websock.binaryType = this.binaryType}this.websock.onmessage = function(e){that.webMessage(e)}this.websock.onclose = function(e){that.webClose(e)}this.websock.onopen = function(){that.webOpen()}this.websock.onerror = function(){Message.error('websocket连接中断!请刷新重试')}}sendSock(agentData, callback){this.callback = callbackif(agentData){if(this.websock.readyState === this.websock.OPEN){this.webSend(agentData)} else if(this.websock.readyState === this.websock.CONNECTING){let that = thissetTimeout(function(){that.webSend(agentData)}, 300)}else{this.initWebSocket()let that = thissetTimeout(function(){that.webSend(agentData)}, 500)}}}       webMessage(e){this.callback(e)}webSend(agentData){this.websock.send(agentData)        }webClose(e){this.websock.close()}webOpen(){}
}export default Socket

第二步:在vue文件里引入使用

socket的使用

//引入socket
import socket from "@/libs/socket.js"; //根据自己放的路径来引入socketmethods:{//socket操作initWebsocket(){console.log("初始化websocket");if(!this.websocket){this.websocket = new socket(//这里填写要请求socket的url字符串)this.websocket.sendSock("", this.websocketonmessage);}},websocketonmessage(e){console.log(e.data)},closeWebSocket(){if(this.websocket != null){this.websocket.webClose();}}
},
mounted(){this.initWebsocket()
},
beforeDestroy(){this.closeWebSocket()
}

Vue里怎么使用socket?(websocket)相关推荐

  1. socket/WebSocket/WebService/http/https概念

    学习了这么久的java技术, 但是这5个 socket/WebSocket/WebService/http/https  概念还不是很清楚, 总是很模糊,或者是弄混. 惭愧! ! 学习之前, 要对这个 ...

  2. Vue里标签嵌套限制问题解决------解析DOM模板时注意事项:

    Vue里标签嵌套限制问题解决------解析DOM模板时注意事项: 参考文章: (1)Vue里标签嵌套限制问题解决------解析DOM模板时注意事项: (2)https://www.cnblogs. ...

  3. vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理)

    vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) 参考文章: (1)vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) (2)https://www. ...

  4. Vue 里的$如何理解

    如下代码: new Vue({el: '#app',router,store,i18n,test,render: h => h(App) })// 用的时候this.$store.dispatc ...

  5. Vue 里 几个重要的指令

    Vue 里 几个重要的指令 --资源来自黑马程序员 v-text v-html v-on v-show v-if v-bind v-for v-model --资源来自黑马程序员) v-text &l ...

  6. Vue项目实战01: vue里父传子 传事件(easy)

    vue中的组件通信 相信小伙伴们已经达到炉火纯青的地步了 提到vue里父子组件通信 脑子里第一个想到的是不是使用$emit来传递. 实现肯定是能实现的 下面我们一起看一下一种简单的方法 父组件: 在父 ...

  7. [vue] 为什么我们写组件的时候可以写在.vue里呢?可以是别的文件名后缀吗?

    [vue] 为什么我们写组件的时候可以写在.vue里呢?可以是别的文件名后缀吗? 也可以写为js,jsx,ts,tsx这种 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很 ...

  8. 解决vue里iscroll(better-scroll)点击触发两次和初始化无法滚动问题!

    这两个插件我用过好几次,有时候很顺利,不顺利的时候真的很麻烦,一直无法滚动,明明style里已经有样式了,就是滚动不了. 先说下在vue里的三种的引入方式: 在index.html文件里通过scrip ...

  9. html input 的value变颜色,vue里input根据value改变背景色的实例

    这篇文章主要为大家详细介绍了vue里input根据value改变背景色的实例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 1.首先定义两个不同 ...

最新文章

  1. 自动驾驶中高效的激光雷达里程计
  2. STM8单片机GPIO口的驱动深度解析
  3. ERROR: Could not find a version that satisfies the requirement requests (from v ersions: none)
  4. python中pickle模块_Python pickle模块的用法
  5. 通过阿里云K8S Ingress Controller实现路由配置的动态更新
  6. 语法分析——自上而下
  7. 织梦DeDeCMS友情链接文字显示不全
  8. 带有审计表的实体框架核心(EF Core)
  9. java 获取js html_JS获取网页中HTML元素的几种方法
  10. mongodb count 导致不正确的数量(mongodb count 一个坑)
  11. 如何用R来定制个性化PPT
  12. RP2836 板卡信息标识
  13. 天价部队到老家赶来java作文_天价与廉价作文800字
  14. qpython3安卓接口_qpython3 读取安卓lastpass Cookies
  15. python累乘累加_Python3 实现列表元素求累和,求累乘
  16. 驾校机器人教练售价_驾校机器人教练温柔鼓励!网友:好怕它被我气死
  17. Java之IO流技术详解
  18. AI开发之——Leonardo—Finetuned Models及利用模型制图(5)
  19. 网易云课堂 Service Worker 运用与实践
  20. 您使用的私钥格式错误,请检查RSA私钥配置,charset = utf-8

热门文章

  1. IO性能最重要的三个指标
  2. SFP、SFP+、SFP28、QSFP+和QSFP28之间的区别以及不同场景的使用选型
  3. 外贸邮箱选择,外贸企业邮箱注册,海外邮箱申请
  4. 怎样unity调用大华摄像头
  5. 扩展坞可以把手机投到显示器吗_手机 篇二:给电脑配的 Type-C拓展坞 没想到手机也能用...
  6. 数字化转型 — 新能源汽车 — 生产制造流程 — 冲压车间
  7. 【账号篇】华硕电脑-华硕账号注销教程
  8. 年度最骚的编程语言来了!大四学生发明文言文编程语言!
  9. openwrt 配置网桥 vlan 多个wan口 以及web界面配置总结
  10. 计算机系求职信英语作文,计算机专业求职信英文