Server-Sent Events (SSE) 是一种 Web 技术,它可以在 Web 应用程序中实现服务器向客户端的单向数据流。使用 SSE,服务器可以将实时事件传送到客户端,而无需客户端发起请求。
本文将详细介绍如何在 Web 应用程序中使用 SSE,包括实现 SSE 服务器端和客户端的示例代码。
实现 SSE 服务器端
SSE 服务器端需要使用特殊的 HTTP 响应头,以及将实时事件作为数据流发送到客户端。下面是示例代码:
-- -------------------- ---- ------- ----- ---- - ---------------- ----------------------------------- --------- - ----------------------- - --------------- -------------------- ---------------- ----------- ------------- ------------ --- ---------------------- - ----- ---- - ------ ----- ------- ------ --------------------- -- ------ ---------------- ---------------- ------ ------- -- ---- -------
在上面的代码中,我们使用 http
模块创建了一个 HTTP 服务器,并设置了 SSE 响应头。然后我们使用 setInterval
定时向客户端发送实时事件数据流。
实现 SSE 客户端
SSE 客户端需要使用 JavaScript API 来获取 SSE 数据流,并在接收到数据时进行处理。下面是示例代码:
const eventSource = new EventSource('/sse'); eventSource.onmessage = function(event) { console.log(event.data); };
在上面的代码中,我们使用 EventSource
构造函数创建了一个 SSE 客户端,并通过构造函数的参数指定了 SSE 服务器端的 URL。然后我们在 onmessage
回调函数里处理接收到的数据。
总结
本文介绍了如何在 Web 应用程序中使用 Server-Sent Events,并提供了服务器端和客户端的示例代码。使用 SSE 可以方便地实现服务器向客户端的单向数据流,从而实现实时应用程序的实现。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6497f7c748841e9894504931