WebSocket 是一种可以在 Web 应用程序中创建实时传输数据的技术,它通过一个持续的连接实现双向通信,能够实时地将数据从服务器推送到客户端。
在 Node.js 中,有很多种实现 WebSocket 的库,其中比较流行的是 ws 和 socket.io。本文将介绍如何使用 ws 库实现 WebSocket。
安装 ws
使用 npm 安装 ws 库:
npm install ws
WebSocket 服务器端代码
首先,我们创建一个 WebSocket 的服务器端代码,代码如下所示:
-- -------------------- ---- ------- ----- --------- - -------------- ----- ------ - --- ------------------ ----- ---- --- ----------------------- ---- -- - ------------------- ------------ ---------------- --------- -- - --------------------- ------- -- ------------- -- ------------- --------------- -------- ------- -- ------------ --- -------------- -- -- - ------------------- --------------- --- ---
上面的代码创建了一个 WebSocket 的服务器端,监听 8080 端口。当客户端连接到服务器时,会输出 client connected
,收到客户端发来的消息时,会输出 Received message =>
和消息内容,然后将收到的消息原样返回客户端。当客户端断开连接时,会输出 client disconnected
。
WebSocket 客户端代码
接下来,我们创建一个 WebSocket 的客户端代码,代码如下所示:
-- -------------------- ---- ------- ----- --------- - -------------- ----- -- - --- --------------------------------- ------------- -- -- - ---------------------- -- --------- -- -------- --------------- ---------- --- ---------------- --------- -- - --------------------- ------- -- ------------- --- -------------- -- -- - ------------------------- ---- --------- ---
上面的代码创建了一个 WebSocket 客户端,连接到服务器端口号为 8080 的服务器。连接成功后,会输出 connected to server
,然后向服务器发送消息 Hello, server!
。当收到服务器返回的消息时,会输出 Received message =>
和消息内容。当客户端从服务器断开连接时,会输出 disconnected from server
。
测试运行
在命令行中运行服务器端代码:
node server.js
然后,在另一个命令行窗口中运行客户端代码:
node client.js
可以看到,客户端发送了一条消息到服务器端,然后服务器端原样返回了这条消息给客户端。客户端收到了服务器端返回的消息。
总结
本文介绍了如何使用 ws 库在 Node.js 中实现 WebSocket 的服务器端和客户端代码,并进行了简单的测试。WebSocket 是一种实时传输数据的技术,可以用来优化 Web 应用程序的体验。使用 ws 库,开发者可以轻松地实现 WebSocket 功能,并且这个库也有良好的文档和社区支持,非常适合在 Node.js 中使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6520d27195b1f8cacd846250