JavaScript SSE(Server-Sent Events)的介绍和使用
JavaScript
2025.11.18 17:56:29
阅读 0
SSE 请求头规范
请求头:开启长链接 + 流方式传递,必须是 UTF-8 编码的文本,这是硬性要求。
------------- -------------------------
-------------- --------
----------- ----------SSE 数据格式规范
-------- ---------field - 冒号(:):冒号开头的行,表示注释。通常用户呼吸作用,服务端每隔一段时间就会向浏览器发送注释,保持连接不中断。
- -------------field - data:标识数据内容。如果数据很长,可以分成多行,最后一行用 \n\n 结尾,前面行都用 \n 结尾。
----- -----------
- -
----- ------- -------
----- - ------- -------field - id:数据标识符。每条数据的一个编码号。
--- -----
----- -----------field - event:触发的消息的方法名。一般用于指定自定义的事件类型,默认是 message 事件。
------ ------
----- - - ---------客户端实现
创建实例:先要检测浏览器是否支持 SSE。
--- - ---
- - - - ------ --- ----
-监听连接:连接一旦建立,就会触发 open 事件。
--- - -----
------ -------
-监听消息:服务器发来的数据,默认就会触发 message事件。
--- - -----
------ -------
-监听错误:一般连接超时,或服务端异常时触发 error 事件。
--- - -----
------ -------
-关闭连接:不再需要服务端推送的时候,可关闭连接。
-----------自定义事件:如果服务端发送的是自定义事件,就不会触发 message 事件。可用自定义事件区分处理不同的业务逻辑。
------ - --- -
------ -------
-- ---完成代码
--- - ---
- - - - ------ --- ----
--- - -----
------ -------
-
--- - -----
------ -------
-
--- - -----
------ -------
-
------ - --- -
------ -------
-- ---
-服务端实现
NodeJS
- ---- - -----
---------- -- - -
- -
-------- -
-- --
-- --
-- --
-- -
---
- - - -
-------- ----
- -
-------- ----
-------- ----
- -
- -------- - ----- -
------- - - -- ---- - ---
-- ---
- - - -
---------- --- -
------------
-- ---
------- ---Java - SpringBoot
- --------
- ------------
- ------------
- ------------
- ------------
- --------
-
-
----
- - - -
----
- - --- --------- -
--------------
--------------
- ---- - - -
- -
- --- -
- - - -
---------------- ---
- -
---------------- ---
---------------- ---
- -
-------
-
- - -- -- -
------
-
-------
-
-Java - SpringBoot - SseEmitter
------ -----------------------------------
------ ----------------------------------------------------
------ ---------------------------------------------------
------ -------------------------------------------------------
------ -------------------------------------------------------
------ -----------------------------------------------------------------
------------
---------------
--------------------------------
------ ----- ----------------- -
----------------- - -------- -------- - ----------------------------------
------ ---------- ----------------
---------- ------- - --- -------------
--- --------- -- -
----
------------
-- ------------- ------- --
------------------------------------------------
-- -----------------
--------------------------------------------------------------
-- -----
-------------------
-
---------------- ---
-----------------------------
-
-----------
------ --------
-
-








