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

网站建设中首页模板小程序排名三大公司

网站建设中首页模板,小程序排名三大公司,seo推广优化平台,湖南网站开发 岚鸿可复制现成代码直接使用#xff01;#xff01; 1.下边的例子演示了创建10个WebSocket 实例#xff0c;当其中某一个连接失败时#xff0c;会自动进行重连 templatediv/div /templatescript setup import { ref, reactive, onMo…可复制现成代码直接使用 1.下边的例子演示了创建10个WebSocket 实例当其中某一个连接失败时会自动进行重连 templatediv/div /templatescript setup import { ref, reactive, onMounted } from vue; const person reactive({}); const wsConnections ref([]); onMounted(() {//初始化创建一个ip数组 遍历过后调用创建十个sokect实例const urls [wss://url1,wss://url2,wss://url3,wss://url4,wss://url5,wss://url6,wss://url7,wss://url8,wss://url9,wss://url10,];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index));//以上是针对初始化创建十个soket 如初始化只创建一个sokey只需直接new实例就行 // new WebSocketConnection(传入ip) //只创建一个连接 }); class WebSocketConnection {constructor(url, index) {//连接的url地址this.url url;this.ws new WebSocket(url);this.bindEvents(); //创建实例过后的回调}//监听回调连接成功、错误、断开、接收消息bindEvents() {this.ws.onopen () {console.log(${this.url} 连接成功.);};this.ws.onerror (error) {console.error(连接错误 ${this.url}: ${error});};this.ws.onclose (e) {console.log(${this.url} 连接关闭);if (e.code ! 1000) {console.log(Reconnecting ${this.url}...);//重连 此处可以加个setTimeout 多少秒后再重连this.reconnect();}};}//重连reconnect() {this.ws new WebSocket(this.url);this.bindEvents();} } /script style scoped langless /style 2.定时给后端发送消息 templatediv/div /templatescript setup import { ref, reactive, onMounted, onUnmounted } from vue; const person reactive({}); const wsConnections ref([]); onMounted(() {//初始化创建一个ip数组 遍历过后调用创建十个sokect实例const urls [wss://url1,wss://url2,wss://url3,wss://url4,wss://url5,wss://url6,wss://url7,wss://url8,wss://url9,wss://url10,];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index));//以上是针对初始化创建十个soket 如初始化只创建一个sokey只需直接new实例就行// new WebSocketConnection(传入ip) //只创建一个连接 }); class WebSocketConnection {constructor(url, index) {//连接的url地址this.url url;this.ws new WebSocket(url);this.bindEvents(); //创建实例过后的回调this.startSending(); //给后端发送消息}//监听回调连接成功、错误、断开、接收消息bindEvents() {this.ws.onopen () {console.log(${this.url} 连接成功.);};this.ws.onerror (error) {console.error(连接错误 ${this.url}: ${error});};this.ws.onclose (e) {console.log(${this.url} 连接关闭);if (e.code ! 1000) {console.log(Reconnecting ${this.url}...);//重连 此处可以加个setTimeout 多少秒后再重连this.reconnect();}};}//重连reconnect() {this.ws new WebSocket(this.url);this.bindEvents();}// 给后端发送消息startSending() {this.interval setInterval(() {if (this.ws.readyState WebSocket.OPEN) {this.ws.send(发给后端的);}}, 5000);}// 停止发消息时调用stopSending() {clearInterval(this.interval);} } onUnmounted(() {wsConnections.value.forEach((connection) {connection.stopSending(); // 停止定时消息connection.ws.close(); // 关闭WebSocket连接}); }); /script style scoped langless /style 2.将十个链接收到的数据全部存在vuex 其他组件只使用第一个链接的数据 import { createStore } from vuexexport default createStore({state: {messages: []},mutations: {setMessages(state, payload) {// 我们这里假设payload的格式为 { index: n, message: msg }state.messages[payload.index] payload.message},},actions: {} }) 修改WebSocketConnection 类使其接收到消息的时候调用 setMessages mutationimport { ref, onMounted, onUnmounted } from vue; import store from /storeclass WebSocketConnection {constructor(url, index) {this.url url;this.index index;this.ws new WebSocket(url);this.bindEvents();this.startSending();}bindEvents() {// ...其它代码略 看上面this.ws.onmessage (message) {// 当接收到数据时将数据保存到 Vuexstore.commit(setMessages, { index: this.index, message: message.data });};}// ...其它代码略 看上面 }// 在 onMounted 钩子函数中创建WebSocket连接 onMounted(() {const urls [wss://url1, wss://url2, wss://url3, wss://url4, wss://url5, wss://url6, wss://url7, wss://url8, wss://url9, wss://url10];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index)); }); 然后在其他组件中以这种方式使用第一个Websocket的消息 templatedivReceived Message: {{ message }}/div /templatescript setup import { computed } from vue import { useStore } from vuex const store useStore() const message computed(() store.state.messages[0]) // 获取第一个消息/script 3.使用pinia将十个链接收到的数据全部存了 其他组件只使用第一个链接的数据 import { defineStore } from pinia export const useUsersStore defineStore(users, {// 其它配置项state: () {return {messages: [],};},getters: {},actions: {setMessage(payload) {this.messages[payload.index] payload.messages}} }) 然后在 WebSocketConnection 类中调用 setMessage 来储存数据 import { ref, onMounted, onUnmounted } from vue; import { useUsersStore } from /store/user.js;class WebSocketConnection {constructor(url, index) {this.url url;this.index index;this.ws new WebSocket(url);this.store useUsersStore();this.bindEvents();this.startSending();}bindEvents() {// ...同上面this.ws.onmessage (message) {// 收到信息后将其存储在Pinia中this.store.setMessage({ index: this.index, message: message.data });};}// ...同上面e... }onMounted(() {const urls [ws://url1, ws://url2, ws://url3, ws://url4, ws://url5, ws://url6, ws://url7, ws://url8, ws://url9, ws://url10];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index));});onUnmounted(() {wsConnections.value.forEach(connection {connection.stopSending(); connection.ws.close(); });}); 然后在其他组件中可以像这样使用第一个连接收到的数据 templatedivReceived Message: {{ message }}/div /templatescript setup import { computed } from vue import { useUsersStore } from /store/user.js;const store useUsersStore ()const message computed(() store.messages[0]) // 使用第一条消息/script
http://www.dnsts.com.cn/news/40399.html

相关文章:

  • h5 移动 网站 开发网站建设文档模板
  • 建设网站平台费类似58同城的网站怎么做
  • 一个虚拟主机如何做多个网站怎样做建网站做淘客
  • 建立自己的网站平台须多少钱高端企业网站模板
  • 南宁网站推广¥做下拉去118cr网站模板 介绍
  • 网站开发全科班平面设计创意图片
  • 网站做会员用什么源码公众平台助手
  • 界面 网站鞍山云网站
  • 做网站组服务器浙江省建设工程招投标网站
  • 海外黄冈网站推广格尔木市住建和城乡建设局网站
  • sql与网站开发建设企业网站企业网上银行登录
  • 怎么制作网站模板小猪会飞网站建设
  • 微信网站制作合同wordpress编译太慢
  • 手机网站的静态页面用自己点电脑做电影网站
  • 园林景观设计公司点评的网站和论坛最便宜云服务器
  • 网站建设中的背景图片模板手机网页布局
  • 建网站策划方案怎样建设网站?(怎样注册域名?如何选择主机?网站应有哪些功能模块
  • 江苏太仓建设局网站医院网站系统源码
  • 昆明网站制作服务商wordpress 小论坛
  • 建设银行网站改手机号vf建设银行网站
  • 网站做sem推广时要注意什么意思做网站公司 晨旭东方
  • 网站开发人员需求wordpress验证邮箱验证码
  • 做网站多少钱zwnet早教网站建设方案
  • 盐山网站制作建设官网公司
  • 网站开发上线流程图有关风景的网页设计作业
  • 电子商务等于做网站吗第三方网络营销平台有哪些
  • 网站建设所需要软件搜索引擎推广预算
  • 网站系统怎么建设wordpress搬家_后台错乱
  • 黔东南手机网站建设网站架构设计师薪资水平
  • 如何在外管局网站做延期有哪些比较好的做ppt好的网站