golang websocket 发送指定用户_SSE(Server-Sent Events):替代websocket完成服务器推送

本文介绍了SSE(Server-Sent Events)作为WebSocket的轻量级替代方案,用于服务器向客户端推送数据。SSE基于HTTP,适用于只需要接收服务器更新的场景。文章详细讲解了如何在SpringBoot中配置和使用SSE,包括服务端配置、建立长连接、发送消息,以及客户端如何连接和发送消息。相较于WebSocket,SSE的实现更简单,且在大多数现代浏览器中得到支持。
摘要由CSDN通过智能技术生成

SSE(Server-Sent Events):替代websocket完成服务器推送

一、概述

提到服务端数据推送,你可以一下子就想到了Websocket,WebSocket是一种全新的协议,随着HTML5草案的不断完善,越来越多的现代浏览器开始全面支持WebSocket技术了,它将TCP的Socket(套接字)应用在了webpage上,从而使通信双方建立起一个保持在活动状态连接通道。

但你可能不知道,HTML5中有一个轻量的替代Websocket的方案:SSE(Server-Sent Events)。

WebSocket 和 SSE 都是传统请求-响应 Web 架构的替代方案,但它们不是完全冲突的技术。 - WebSocket 架构在客户端与服务器之间打开一个套接字,用于实现全双工(双向)通信。 无需发送 GET 消息并等待服务器响应,客户端只需监听该套接字,接收服务器更新,并使用收到的数据来发起或支持各种交互。 客户端也可以使用套接字与服务器通信,例如在成功收到更新时发送 ACK 消息。 - SSE 是一种更简单的标准,是作为 HTML5 的扩展而开发的。 尽管 SSE 支持从服务器向客户端发送异步消息,但客户端无法向服务器发送消息。 对于客户端只需接收从服务器传入的更新的应用程序,SSE 的半双工通信模型最适合。 与 WebSocket 相比,SSE 的一个优势是它是基于 HTTP 而运行的,不需要其他组件。

首发地址:https://www.pomit.cn/p/3795471065500161

几乎所有现代浏览器都支持 WebSocket 协议,包括移动浏览器。然而Microsoft IE 和 Edge不支持SSE 但这并不妨碍我们使用SSE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值