Vue里怎么使用socket?(websocket)
第一步:封装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)相关推荐
- socket/WebSocket/WebService/http/https概念
学习了这么久的java技术, 但是这5个 socket/WebSocket/WebService/http/https 概念还不是很清楚, 总是很模糊,或者是弄混. 惭愧! ! 学习之前, 要对这个 ...
- Vue里标签嵌套限制问题解决------解析DOM模板时注意事项:
Vue里标签嵌套限制问题解决------解析DOM模板时注意事项: 参考文章: (1)Vue里标签嵌套限制问题解决------解析DOM模板时注意事项: (2)https://www.cnblogs. ...
- vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理)
vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) 参考文章: (1)vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) (2)https://www. ...
- Vue 里的$如何理解
如下代码: new Vue({el: '#app',router,store,i18n,test,render: h => h(App) })// 用的时候this.$store.dispatc ...
- Vue 里 几个重要的指令
Vue 里 几个重要的指令 --资源来自黑马程序员 v-text v-html v-on v-show v-if v-bind v-for v-model --资源来自黑马程序员) v-text &l ...
- Vue项目实战01: vue里父传子 传事件(easy)
vue中的组件通信 相信小伙伴们已经达到炉火纯青的地步了 提到vue里父子组件通信 脑子里第一个想到的是不是使用$emit来传递. 实现肯定是能实现的 下面我们一起看一下一种简单的方法 父组件: 在父 ...
- [vue] 为什么我们写组件的时候可以写在.vue里呢?可以是别的文件名后缀吗?
[vue] 为什么我们写组件的时候可以写在.vue里呢?可以是别的文件名后缀吗? 也可以写为js,jsx,ts,tsx这种 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很 ...
- 解决vue里iscroll(better-scroll)点击触发两次和初始化无法滚动问题!
这两个插件我用过好几次,有时候很顺利,不顺利的时候真的很麻烦,一直无法滚动,明明style里已经有样式了,就是滚动不了. 先说下在vue里的三种的引入方式: 在index.html文件里通过scrip ...
- html input 的value变颜色,vue里input根据value改变背景色的实例
这篇文章主要为大家详细介绍了vue里input根据value改变背景色的实例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 1.首先定义两个不同 ...
最新文章
- 自动驾驶中高效的激光雷达里程计
- STM8单片机GPIO口的驱动深度解析
- ERROR: Could not find a version that satisfies the requirement requests (from v ersions: none)
- python中pickle模块_Python pickle模块的用法
- 通过阿里云K8S Ingress Controller实现路由配置的动态更新
- 语法分析——自上而下
- 织梦DeDeCMS友情链接文字显示不全
- 带有审计表的实体框架核心(EF Core)
- java 获取js html_JS获取网页中HTML元素的几种方法
- mongodb count 导致不正确的数量(mongodb count 一个坑)
- 如何用R来定制个性化PPT
- RP2836 板卡信息标识
- 天价部队到老家赶来java作文_天价与廉价作文800字
- qpython3安卓接口_qpython3 读取安卓lastpass Cookies
- python累乘累加_Python3 实现列表元素求累和,求累乘
- 驾校机器人教练售价_驾校机器人教练温柔鼓励!网友:好怕它被我气死
- Java之IO流技术详解
- AI开发之——Leonardo—Finetuned Models及利用模型制图(5)
- 网易云课堂 Service Worker 运用与实践
- 您使用的私钥格式错误,请检查RSA私钥配置,charset = utf-8
热门文章
- IO性能最重要的三个指标
- SFP、SFP+、SFP28、QSFP+和QSFP28之间的区别以及不同场景的使用选型
- 外贸邮箱选择,外贸企业邮箱注册,海外邮箱申请
- 怎样unity调用大华摄像头
- 扩展坞可以把手机投到显示器吗_手机 篇二:给电脑配的 Type-C拓展坞 没想到手机也能用...
- 数字化转型 — 新能源汽车 — 生产制造流程 — 冲压车间
- 【账号篇】华硕电脑-华硕账号注销教程
- 年度最骚的编程语言来了!大四学生发明文言文编程语言!
- openwrt 配置网桥 vlan 多个wan口 以及web界面配置总结
- 计算机系求职信英语作文,计算机专业求职信英文