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

Wordpress垂直类目站模版全国疫情最新情况公布

Wordpress垂直类目站模版,全国疫情最新情况公布,网站开发支付宝提现,深圳工信部网站备案WebSocket是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。 1、创建webSocket // Create WebSocket connection. const sock…

WebSocket是HTML5开始提供的一种浏览器与服务器进行全双工通讯的网络技术,属于应用层协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。

1、创建webSocket

// Create WebSocket connection.
const socket = new WebSocket('ws://localhost:8080');

2、websocket事件

事件事件处理程序描述
openSocket.onopen连接建立时触发
messageSocket.onmessage客户端接收服务端数据时触发
errorSocket.onerror通信发生错误时触发
closeSocket.onclose

连接关闭时触发

3、WebSocket方法

方法描述
Socket.send()使用连接发送数据
Socket.close()关闭连接

WebSocket的心跳机制

问题:

(1)websocket在连接后,如果长时间服务端和客户端不发消息,服务端会把websocket给断开。

(2)存在网络忽然断开的情况,这时服务器端并没有触发onclose的事件。服务器会继续向客户端发送多余的信息,这些数据会丢失。

心跳重连机制

为了解决上面的问题,就需要⼀种机制来检测客户端和服务端是否处于正常的连接状态。因此就有了websocket的心跳机制。

⼼跳机制是客户端每隔⼀段时间会向服务端发送⼀个数据包,告诉服务端自己还活着,同时客户端会根据服务端是否会回传⼀个数据包来确定服务端是否还活着。
如果客户端没有收到回复,表示websocket断开连接或者网络出现问题,就需要重连

const socket = new WebSocket('ws://localhost:8080'); // WebSocket 建立连接
const heartCheck = initHeartCheck();// 初始化心跳检测对象// WebSocket建立连接成功
socket.addEventListener('open', function (event) {heartCheck.start();// 启动心跳检测socket.send('Hello Server!');
});
// WebSocket接受到服务端消息
socket.addEventListener('message',function(event){heartCheck.start();// 启动心跳检测
})
// WebSocket 连接被关闭
socket.addEventListener('close',function(event){heartCheck.reset();// 启动心跳检测
})
// WebSocket 连接因错误而关闭
socket.addEventListener('error',function(event){heartCheck.reset();// 启动心跳检测
})function initHeartCheck() {return {timeout: 2 * 1000, // 每2s向服务端发送一次消息serverTimeout: 10 * 1000, // 10s收不到服务端消息算超时timer: null,serverTimer: null,reset() { // 心跳检测重置clearTimeout(this.timer);clearTimeout(this.serverTimer);this.timer = null;this.serverTimer = null;return this;},start() { // 心跳检测启动this.reset();this.timer = setTimeout(() => { socket.send('ping'); // 定时向服务端发送消息if (!this.serverTimer) {this.serverTimer = setTimeout(() => {// 关闭连接触发重连console.log(new Date().toLocaleString(), "not received pong, close the websocket");socket.close(); //关闭websocket或根据业务需求去重连 }, this.serverTimeout);}}, this.timeout);},}}

http://www.yidumall.com/news/94407.html

相关文章:

  • 如何在手机上设计房屋装修效果图河南企业站seo
  • 网站会员和discuz会员同步永久免费用的在线客服系统
  • 上海正规网站建设怎么样网上营销型网站
  • 免费app下载网站seo网站优化快速排名软件
  • 怎么用net123做网站5151app是交友软件么
  • 广州网站建设案例电商培训班
  • 巨野县建设局网站微信公众号营销
  • 有哪些做的好看的网站免费推广平台排行
  • 怎么做网站客服弹窗搜什么关键词你都懂的
  • 17做网站广州新塘上海搜索引擎优化公司
  • 微网站 html手游推广平台代理
  • 推荐昆明做网站建设竞价托管服务公司
  • 中国建设银行开户行查询广州seo网站推广平台
  • 网站加油站网推平台有哪些
  • 关镇铨装潢门店地址郑州见效果付费优化公司
  • 路由器端口转发做网站访问量醴陵网站制作
  • 招聘门户关键词优化排名用哪个软件比较好
  • 安阳做网站公众号seo排名软件
  • 空调维修技术支持东莞网站建设推广平台开户代理
  • 福州做网站的公司seo工作流程图
  • 新浪如何上传wordpress百度seo培训课程
  • 自己做电影网站违法吗百度指数移动版app
  • 深圳网站公司建设搜索引擎下载
  • WordPress建站收费品牌策划ppt案例
  • 网站开发部职责可以免费推广的网站
  • 京东网站建设流程阿里巴巴关键词排名优化
  • 微网站建设完不知道怎么推广咋办pc网站优化排名软件
  • 凡科网站建设怎么样湖南网络优化
  • 黄页88平台效果怎么样网络优化推广公司哪家好
  • 成都都网站建设电商关键词工具