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

美食网站首页设计百度打广告收费表

美食网站首页设计,百度打广告收费表,西樵建网站,南充网站开发1、创建JS文件ce-websocket-util.js class CeWebsocketUtil {websocket null;reConnectTimes 0; // 失败后重新连接次数wsInterVal null; // 重新连接定时器maxReConnectTimes 10; // 最大连接次数,默认10次reIntervalTime 60 * 1000; // 重连间隔时间,默认1m…

1、创建JS文件ce-websocket-util.js

class CeWebsocketUtil {websocket = null;reConnectTimes = 0; // 失败后重新连接次数wsInterVal = null; // 重新连接定时器maxReConnectTimes = 10; // 最大连接次数,默认10次reIntervalTime = 60 * 1000; // 重连间隔时间,默认1mincurrentComponent = null; // 当前调用的组件/*** 初始化Websocket数据* @param {*} _this  当前this* @param {*} url ws连接url* @param {*} option,配置,传null时,默认 maxReConnectTimes = 10, reIntervalTime = 60000*/async initWebsocketData (_this, url, option) {this.currentComponent = _this;if (option && option.maxReConnectTimes) this.maxReConnectTimes = option.maxReConnectTimes;if (option && option.reIntervalTime) this.reIntervalTime = option.reIntervalTime;// 如果websocket不存在,则创建;存在的话,先关闭再创建if (!this.websocket) return this.createWebsocket(url);await this.closeWebsocket();this.createWebsocket(url);}// 创建Websocket连接createWebsocket (url) {this.websocket = new WebSocket(url);this.websocket.onopen = () => {this.onOpen();};this.websocket.onmessage = e => {this.onMessage(e);};this.websocket.onerror = () => {this.onError();};this.websocket.onclose = () => {this.onClose();};}/** 连接成功*/onOpen () {const NowFormatter = this.formatDateTime();if (this.reConnectTimes > 0) {console.info(`ws重连:第【${this.reConnectTimes}】次连接成功!****${this.websocket.url}****${NowFormatter}`);} else {console.info(`ws连接成功****${this.websocket.url}****${NowFormatter}`);this.reConnectTimes = 0;}// 注册onWsOpen方法this.currentComponent.onWsOpen();}/*** 收到消息* @param {*} e 消息事件*/onMessage (e) {console.info(`ws收到消息****${this.websocket.url}****${e.data}`);// 注册onWsMessage方法,接收消息this.currentComponent.onWsMessage(e.data);}/*** 连接失败* @returns*/onError () {const NowFormatter = this.formatDateTime();console.error(`ws连接失败****${this.websocket.url}****${NowFormatter}`);if (!this.wsInterVal) {this.setWsInterval();return;}// 超过最大连接次数后,不再连接if (this.reConnectTimes >= this.maxReConnectTimes) {console.error(`ws重连第【${this.reConnectTimes}】次失败,不再连接:****${this.websocket.url}****${NowFormatter}`);this.clearWsInterval();}}/*** 设置定时器*/setWsInterval () {console.info('设置定时器');this.reConnect();this.wsInterVal = setInterval(() => {this.reConnect();}, this.reIntervalTime);}/*** 重新连接*/reConnect () {// 先关掉 再连接this.websocket && this.websocket.close();const NowFormatter = this.formatDateTime();this.reConnectTimes += 1;console.info(`ws重连:正在尝试第【${this.reConnectTimes}】次连接:****${this.websocket.url}****${NowFormatter}`);this.initWebsocket(this.currentComponent, this.websocket.url);}/*** 清除定时器*/clearWsInterval () {console.info('清除定时器');clearInterval(this.wsInterVal);this.wsInterVal = null;}/*** 关闭连接*/closeWebsocket () {console.info('关闭websocket');this.websocket && this.websocket.close();this.websocket = null;this.reConnectTimes = 0;this.clearWsInterval();}// 关闭连接onClose () {const NowFormatter = this.formatDateTime();console.error(`ws断开连接****${NowFormatter}`);}/*** 发送心跳* @param {*} data*/sendHeartBeat (data) {if (this.websocket) {console.info(`sendHeartBeat${JSON.stringify(data)}`);this.websocket.send(JSON.stringify(data));}}/*** 格式化new Date() YYYY-MM-DD HH:mm:ss:ms* 控制台打印websocket信息时使用,* @returns*/formatDateTime () {const Now = new Date();return `${Now.getFullYear()}-${Now.getMonth() + 1}-${Now.getDate()} ${Now.getHours()}:${Now.getMinutes()}:${Now.getSeconds()}:${Now.getMilliseconds()}`;}
}
export default new CeWebsocketUtil();

2、VUE组件中
2.1 引入封装好的websocket

import CeWebsocketUtil from 'common/ce-websocket-util';

2.2、创建连接,初始化数据

CeWebsocketUtil.initWebsocketData(this, URL);

2.3、 websocket 连接成功

onWsOpen () {console.log('websocket已连接成功');
},

2.4、发送心跳

CeWebsocketUtil.sendHeartBeat({ rule: "hello world" });

2.5、 接收websocket数据

onWsMessage (e) {// TODO
}

2.6、主动关闭websocket

CeWebsocketUtil.closeWebsocket();
http://www.mnyf.cn/news/34326.html

相关文章:

  • 北京海淀区今日疫情seo关键词优化排名哪家好
  • wordpress 底部导航yoast seo
  • 免费自助建站可以看封禁网站的浏览器
  • wdcp搭建网站线上推广费用预算
  • 网站建设无锡海之睿前端培训哪个机构靠谱
  • 公司网站首页导航html神起网络游戏推广平台
  • 我国政府网站建设和管理现状石家庄房价
  • 企业网站建设到底应该注意什么网站制作工具有哪些
  • 哪有那样的网站百度纯净版首页入口
  • 惠州有哪些做网站的公司百度入口网址
  • 淘宝客 网站无备案企业全网推广公司
  • 多种不同产品的网站怎么做seo推广怎么推
  • 橙色企业网站青岛谷歌推广
  • 免费网站备案号码深圳最新疫情最新消息
  • 怎么用VS2012建设网站西安的网络优化公司
  • 网站地址和网页地址网站统计工具有哪些
  • 胶州哪家公司做网站推广平台
  • 网站留言表单是如何做的营销咨询师
  • 做的好的茶叶网站百度访问量统计
  • 如何把自己做的网站放到内网商品推广与营销的方式
  • 网站程序有哪些搜索引擎提交入口大全
  • 保安做网站全网霸屏推广系统
  • 网站权限控制网站买卖交易平台
  • 空间 网站都有 肿么做网站短视频seo系统
  • 淄博外贸网站制作公司网站优化
  • 网站编辑属于什么行业自己建网站流程
  • 网站改版301怎么做智能网站推广优化
  • 一个网站开发团队的人员配置长沙专业网站制作
  • 我的世界有什么做的视频网站现在做网络推广好做吗
  • 企业网站建设遵循的原则明星百度指数排行