博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实时同步方式
阅读量:6738 次
发布时间:2019-06-25

本文共 902 字,大约阅读时间需要 3 分钟。

实时同步方式有以下几种:

  1. 轮询(Ajax polling/Ajax long polling)
  2. WebSocket
  3. Socket.io
  4. Wilddog(野狗)
  • WebSocket协议
    1. HTML5新增的一种协议方式
    2. 主要特点:是建立客户端与服务端的长连接,从而实现实时数据传输
  • 其他实现实时化的方式
    1. Ajax polling:客户端使用Ajax每隔一定时间向服务端发起一次数据请求。实时性取决于请求的频次,而性能也决定于请求的频次
    2. Ajax long polling:跟Ajax polling的方式类似,不同之处是需要服务端keep-alive的支持。客户端不再定时发送数据请求,而是发送一个请求后一直等待,直到这个请求返回数据再发起下一次请求。比起polling进步的一点是可以做到真正的实时,而且性能明显提高,但依然不够高
  • WebSocket的优势
    1. WebSocket的传输其实并不依赖于HTTP协议,且不需要重复建立TCP连接
    2. WebSocket只使用HTTP协议作为握手协议,当长连接建立之后就再也不需要传输庞大的HTTP头了
    3. WebSocket协议头基于二进制,非常小,跟HTTP协议头相比可以忽略不计
  • WebSocket存在的问题
    1. 浏览器兼容性
    2. 断线重连,会话维持
    3. 需要写服务端逻辑
  • Socket.io解决了WebSocket存在的问题
    1. Socket.io解决了浏览器兼容性问题,提供了会话层,同时有基于Node.js的服务端逻辑
  • Socket.io的缺陷
    1. 你需要关注数据发给谁
    2. 你需要关注连接状态,在线与离线需要两套不同的处理机制
    3. 手动处理数据权限问题,Socket.io 是无权限机制的
  • Wilddog(野狗)的实时同步机制恰好的解决了Socket.io的缺陷
    1. Wilddog的实时同步机制包含云端的NoSql数据库和客户端的Nosql数据库。
    2. 因为有数据存储,所以不需要关注对方的连接状态,只需要修改相应位置的数据就可以,数据同步可以让应用离线可用,而且离线与在线可以共用一套逻辑

转载于:https://www.cnblogs.com/zhuotiabo/p/6268844.html

你可能感兴趣的文章
我的失败与伟大 —— 上市之后的规划
查看>>
【Spark Summit East 2017】不必犹豫,使用Spark 2.0结构化流
查看>>
HTTPFS: 基于HTTP操作hadoop hdfs文件系统
查看>>
使用jquery获取父元素或父节点的方法
查看>>
如何让双十一数据大屏讲出故事?设计有口诀
查看>>
浮窗系列之窗口与用户输入系统
查看>>
swing效果点击下拉框自动填充文本框
查看>>
UML之活动图
查看>>
[收藏学习]安全性相关
查看>>
测来测去,感觉REQUESTS最实在
查看>>
powershell 模拟IE行为
查看>>
细说ES7 JavaScript Decorators
查看>>
最好的团队
查看>>
Objective-C之@类别小实例
查看>>
IOS的唯一标识符问题(转)
查看>>
【Oracle】How to Rename or Move Datafiles and Logfiles 之一
查看>>
CYQ.Data 轻量数据访问层(六) 构造数据表
查看>>
CFRunLoop
查看>>
一次XEN虚拟化安装虚机系统时的换光盘操作
查看>>
第五天 应用代理SQUID
查看>>