首页 > 其他分享 >Websocket vs SSE(Server-Sent Events)

Websocket vs SSE(Server-Sent Events)

时间:2023-10-13 18:13:26浏览次数:33  
标签:浏览器 应用程序 Server vs Sent SSE Websocket Websockets

定义

Websockets 和 SSE(服务器发送事件)都能够将数据推送到浏览器,但它们不是竞争技术。

Websockets 连接既可以向浏览器发送数据,也可以从浏览器接收数据。可以使用 websockets 的应用程序的一个很好的例子是聊天应用程序。

SSE 连接只能向浏览器推送数据。在线股票报价或 Twitter 更新时间线或提要都是可以从 SSE 中受益的应用程序的很好示例。

在实践中,由于 SSE 可以完成的所有事情也可以通过 Websockets 完成,因此 Websockets 得到了更多的关注和喜爱,并且比 SSE 支持 Websockets 的浏览器更多。

但是,对于某些类型的应用程序来说,它可能有点矫枉过正,而且后端可能更容易使用 SSE 等协议来实现。

此外,SSE 可以被 polyfill 到不支持它的旧浏览器中,这些浏览器只使用 JavaScript。可以在Modernizr github 页面上找到 SSE polyfill 的一些实现。

缺点

  • SSE 受到最大打开连接数的限制,这在打开各种选项卡时会特别痛苦,因为每个浏览器的限制设置为非常低的数字 (6)。该问题已在Chrome和Firefox 中标记为“无法修复” 。此限制是针对每个浏览器 + 域的,这意味着您可以在所有选项卡上打开 6 个 SSE 连接,并打开www.example1.com另外 6 个 SSE 连接www.example2.com(感谢 Phate)。
  • 只有 WS 可以传输二进制数据和 UTF-8,SSE 仅限于 UTF-8。(感谢 Chado Nihi)。
  • 一些具有数据包检查功能的企业防火墙在处理 WebSockets(Sophos XG Firewall、WatchGuard、McAfee Web Gateway)时遇到问题。

优点 

详情请查看: Websocket vs SSE(Server-Sent Events)

 

标签:浏览器,应用程序,Server,vs,Sent,SSE,Websocket,Websockets
From: https://www.cnblogs.com/simonbaker/p/17762808.html

相关文章

  • 文心一言 VS 讯飞星火 VS chatgpt (112)-- 算法导论10.2 3题
    三、用go语言,用一个单链表L实现一个队列。要求操作ENQUEUE和DEQUEUE的运行时间仍为O(1)。文心一言:在Go语言中,使用单链表实现队列的操作,包括入队(ENQUEUE)和出队(DEQUEUE),并保持操作的时间复杂度为O(1),需要利用两个指针,一个指向队头,另一个指向队尾。以下是一个简单的实现:pac......
  • Ubuntu Server 22.04修改静态ip及配置网关
    1、查看本机获取的IP地址:输入命令ipaddr:2、修改配置文件跳转到配置文件目录:cd/etc/netplan使用ls查看配置文件名称:ls使用nano修改配置文件:nano_你的配置文件名称_.yaml具体格式如下:network:version:2renderer:networkdethernets:eno1:dhcp4:f......
  • App:基于VsCode的批量Diff工具
    1.效果预览1.1界面图1.2点击操作-Diff2.下载包https://pan.baidu.com/s/1Xe0vjtc-izAXYTXEfuOEcQ?pwd=Tidy3.技术方案3.1技术架构采用本地服务+React。3.2技术清单3.2.1服务框架是TidyHttp3.2.2React组件框架是antd3.2.3开发语言是C#4.其他......
  • 升级Lync Server 2013到Skype for Business 2019(九)
    写在前面本章将介绍SkypeforBusiness2019OfficeOnlineServer(OOS)服务器的安装配置工作。OfficeOnlineServer安装安装必备软件以管理员身份打开MicrosoftPowerShell提示符,然后运行此命令示例来安装必需的角色和服务。Add-WindowsFeatureWeb-Server,Web-Mgmt-Tools,We......
  • 前端 - 使用json-server搭建单机mock平台
    使用json-server搭建单机mock平台 简介json-server是一个Node模块,可以指定一个json文件作为数据源,运行Express服务器。可以用来在本地快速搭建一个RESTAPI风格的后端服务,模拟服务端接口数据。官网地址:json-server-npm(npmjs.com)Github地址:GitHub-typicode/json-se......
  • ubuntu server 网速测试
    ubuntuserver网速测试 speedtest-cli是一个用于测试网络带宽的命令行工具,可以快速测量下载和上传速度。你可以按照以下步骤安装和使用它:打开终端。安装speedtest-cli:sudo apt-get install speedtest-cli运行测试:speedtest-cli ......
  • idea 中无法连接 sql server 数据库,报错 [08S01] 驱动程序无法通过使用安全套接字层(S
    报的错误信息如下:[08S01]驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接。错误:“PKIXpathbuildingfailed:sun.security.provider.certpath.SunCertPathBuilderException:unabletofindvalidcertificationpathtorequestedtarget”。ClientC......
  • PHP 的 Websocket 客户端和服务器
     /*------------------------------------------------------*///--需要安装websocket,我用的是下面链接提供的//--https://github.com/Textalk/websocket-php/*------------------------------------------------------*///客户端require('vendor/autoload.php');$c......
  • win Server系统安装“.NET Framework 3.5”
    Win2012、Win2016中.NETFramework版本分别是4.5与4.6,因此需要手动安装 .NETFramework3.5。(Win2012和Win2016中的.NET3.5不通用)iso镜像sources/sxs目录中有 .NETFramework3.5安装文件(路径:sources/sxs)将文件单独放如一个目录当中,并在系统中调用   ......
  • typescript: Observer Pattern
     /***ObserverPattern观察者是一种行为设计模式,允许一个对象将其状态的改变通知其他对象*file:Observerts.ts*TheSubjectinterfacedeclaresasetofmethodsformanagingsubscribers.*/interfaceGeovinSubject{//Attachanobservertothesub......