websocket、TCP实现即时通信的区别

区别是:WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。TCP,即传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 [1]  定义。

websocket、TCP实现即时通信的区别-Worktile社区

WebSocket

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范。WebSocket API也被W3C定为标准。

WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。

TCP

传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793 [1]  定义。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

传输控制协议(TCP,Transmission Control Protocol)是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。

延伸阅读:

TCP可靠性实现

TCP通过下列方式来提供可靠性:

1.应用数据被分割成TCP认为非常适合发送的数据块。这和UDP完全不同,应用程序产生的数据长度将保持不变。由TCP传递给IP的信息单位称为报文段或段(segment)。

2.当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。TCP有延迟确认的功能,在此功能没有打开,则是立即确认。功能打开,则由定时器触发确认时间点。

3.TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。

4.既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。

5.既然IP数据报会发生重复,TCP的接收端必须丢弃重复的数据。

6.TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。

文章标题:websocket、TCP实现即时通信的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38075

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月13日 下午11:10
下一篇 2023年2月13日 下午11:12

相关推荐

  • 工程项目管理软件,微软的Project和普瑞玛的P6区别是什么

    工程项目管理软件,微软的Project和普瑞玛的P6区别有:1、功能特性对比;2、易用性对比;3、应用场景对比。作为一款强大的项目管理软件,微软Project提供了丰富的功能,如项目调度、任务分配、进度跟踪和资源管理等。 一、功能特性对比 微软Project:作为一款强大的项目管理软件,微软Proj…

    2023年7月30日
    15800
  • 缺陷应该怎么管理

    缺陷用以下工具管理:一、PingCode;二、Worktile;三、Bugzilla;四、禅道;五、Jira;六、ClickUp;七、Zoho bug Tracker。PingCode是一站式的软件研发过程管理工具,具备专业的缺陷管理模块能够有效帮助团队解决四方面的缺陷管理问题。 一、PingCod…

    2023年4月16日
    3300
  • CUTLASS、CUBLAS、CUDNN的区别是什么

    CUTLASS、CUBLAS、CUDNN的区别是:1、CUBLAS是CUDA平台中较早的加速库之一;2、CUDNN是专门为深度学习任务设计的加速库;3、CUTLASS是NVIDIA推出的新一代加速库。CUBLAS是基础线性代数子程序库,用于优化矩阵计算;CUDNN是深度学习加速库,用于优化深度学习任…

    2023年7月31日
    31900
  • dns优选和备用填多少

    DNS优选和备用是网络设置中的关键参数,用于解析域名到IP地址。优选DNS服务器是主要使用的服务器,而备用DNS服务器是当优选服务器无法响应时使用的替代服务器。优选和备用的填写取决于你所使用的网络环境和需求。常用的选项包括:1、ISP提供的DNS服务器;2、公共DNS服务器;3、企业或组织的私有DN…

    2023年8月10日
    9300
  • mysql中字段和记录有什么区别

    它们的区别主要在于:1、含义不同;2、作用不同;3、实际应用中的角色不同。在MySQL中,一个表是由多个字段(column)组成的,字段是表中的一个列,它代表了数据的某一属性。记录(row)是表中的一行数据,是多个字段值的集合,代表了一组相关的数据。 1、含义不同 字段:在MySQL中,一个表是由多…

    2023年7月12日
    11600
  • 路线规划软件什么好用

    好用的路线规划软件有:1.百度地图;2.高德地图;3.Google地图;4.腾讯地图;5.苹果地图。百度地图是中国最大的在线地图服务提供商。它不仅提供地图和导航功能,还可以提供路线规划、公交查询、周边搜索等服务。 1.百度地图 百度地图是中国最大的在线地图服务提供商。它不仅提供地图和导航功能,还可以…

    2023年2月27日
    50000
  • 关于材料计算,模拟,仿真有什么区别

    材料计算、模拟、仿真的区别有:1、定义和目的;2、实施方法;3、应用范围;4、结果解释;5、技术难度;6、常用工具。尽管这三者在材料科学领域都是为了预测和研究材料的性质和行为,但它们在目的、方法和工具上都有所不同。 1、定义和目的 材料计算:基于理论模型和计算方法,对材料的性质和行为进行量化计算。 …

    2023年7月30日
    10100
  • okr用什么工具

    okr用以下工具:一、Worktile;二、PingCode;三、Vision;四、Zokri。Worktile 是国内较早也是非常成熟的OKR工具。Worktile 覆盖了OKR设定、展示、更新、评分的完整周期管理,并且目标还能与具体项目/任务关联,它能够追踪公司级、部门级、个人级目标的进度,帮助…

    2023年3月19日
    9200
  • wlan和wifi的区别

    wlan和wifi的区别有两点:1、wifi包含于WLAN中,发射信号的功率不同,覆盖范围不同;2、覆盖的无线信号范围不同。从包含关系上来说,WIFI是WLAN的一个标准,WIFI包含于 WLAN中,属于采用WLAN协议中的一项新技术。 1、wifi包含于WLAN中,发射信号的功率不同,覆盖范围不同…

    2023年1月31日
    11000
  • logo的设计理念

    Logo的设计理念主要是为了传达品牌的核心价值和理念,同时激发观众的情感反应。设计一个成功的Logo需要考虑其可识别性、简洁性、独特性、适应性和寓意性等因素。此外,Logo设计的颜色、形状和字体也能够传达品牌的特定信息和情感。 Logo,又称为商标,是一种图形标志,用于识别和代表公司、产品或品牌。一…

    2023年5月15日
    14100

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部