如何在 Web 应用程序中使用 Server-Sent Events

阅读时长 2 分钟读完

Server-Sent Events (SSE) 是一种 Web 技术,它可以在 Web 应用程序中实现服务器向客户端的单向数据流。使用 SSE,服务器可以将实时事件传送到客户端,而无需客户端发起请求。

本文将详细介绍如何在 Web 应用程序中使用 SSE,包括实现 SSE 服务器端和客户端的示例代码。

实现 SSE 服务器端

SSE 服务器端需要使用特殊的 HTTP 响应头,以及将实时事件作为数据流发送到客户端。下面是示例代码:

-- -------------------- ---- -------
----- ---- - ----------------

----------------------------------- --------- -
  ----------------------- -
    --------------- --------------------
    ---------------- -----------
    ------------- ------------
  ---

  ---------------------- -
    ----- ---- - ------ ----- ------- ------
    ---------------------
  -- ------
----------------

---------------- ------ ------- -- ---- -------

在上面的代码中,我们使用 http 模块创建了一个 HTTP 服务器,并设置了 SSE 响应头。然后我们使用 setInterval 定时向客户端发送实时事件数据流。

实现 SSE 客户端

SSE 客户端需要使用 JavaScript API 来获取 SSE 数据流,并在接收到数据时进行处理。下面是示例代码:

在上面的代码中,我们使用 EventSource 构造函数创建了一个 SSE 客户端,并通过构造函数的参数指定了 SSE 服务器端的 URL。然后我们在 onmessage 回调函数里处理接收到的数据。

总结

本文介绍了如何在 Web 应用程序中使用 Server-Sent Events,并提供了服务器端和客户端的示例代码。使用 SSE 可以方便地实现服务器向客户端的单向数据流,从而实现实时应用程序的实现。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6497f7c748841e9894504931

纠错
反馈