IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> vue websocket 连接 复制直接用 -> 正文阅读

[网络协议]vue websocket 连接 复制直接用

<script>
	export default {
		data() {
			return {
				websock: null,
				timer: "",
				startTime: "",
				endTime: "",
			}
		},
		created() {
			clearInterval(this.timer);
			this.timer = setInterval(() => {
				this.initWebSocket();
			}, 1000);
		},
		destroyed() {
			this.websock.close(); //离开路由之后断开websocket连接
		},
		methods: {
			initWebSocket() {
				//初始化weosocket
				const wsuri = "ws://xxxxxxxxxxxx.com:2323/12";
				this.websock = new WebSocket(wsuri);
				this.websock.onmessage = this.websocketonmessage;
				this.websock.onopen = this.websocketonopen;
				this.websock.onerror = this.websocketonerror;
				this.websock.onclose = this.websocketclose;
			},
			websocketonopen() {
				//连接建立之后执行send方法发送数据
				clearInterval(this.timer);
				this.heartbeat();
			},
			websocketonerror() {
				//连接建立失败重连
				this.initWebSocket();
			},
			websocketonmessage(e) {
				// websocket返回的数据
				console.log(e.data)
			},
			websocketsend(Data) {
				//数据发送
				this.websock.send(Data);
			},
			websocketclose(e) {
				//关闭
				console.log("断开连接", e);
			},
			heartbeat() {
				clearInterval(this.timer);
				this.timer = setInterval(() => {
					if (this.endTime != "") {
						if (this.startTime - this.endTime >= 5000) {
							console.log("重新链接!");
							this.initWebSocket();
							this.endTime = "";
							this.startTime = "";
						}
					}
					this.startTime = Date.parse(new Date());
					if (this.startTime - this.endTime <= 5000 || this.endTime == "") {
						// 根据后端看你看什么样的数据包作为心跳
						this.websocketsend("{'msg':'heartbeat'}");
					}
				}, 1000);
			}
		}
	}
</script>

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:54:17  更:2021-08-24 15:54:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:45:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码