WebSocket 是一种在 Web 应用程序中进行双向通信的技术,并且已经可以在 Node.js 中使用。在本文中,我将向您展示如何使用 TypeScript 编写 WebSocket 服务器以及如何将其与 Node.js 应用程序集成。
创建 WebSocket 服务器
在开始之前,您需要先使用 npm 安装 ws
模块,它是使用 WebSocket 的 Node.js 模块之一。您可以使用以下命令进行安装:
npm install ws
安装完成后,我们就可以开始了。首先,让我们创建 WebSocket 服务器。
-- -------------------- ---- ------- ------ - -- -- ---- ----- ----- --- - --- ----------- ----- ---- --- -------------------- ---- --- -- - ------------------- ------------ ---------------- --------- ------- -- - --------------------- ------- -- ------------- --- --------------- ---------- ---
这段代码将创建 WebSocket 服务器并在端口 8080 上侦听连接。当客户端连接到服务器时,服务器将记录该事件并向客户端发送“Hello, client!”消息。当客户端发送消息时,服务器将记录该消息并在控制台中输出。
集成 WebSocket 服务器
现在我们已经创建了 WebSocket 服务器,我们需要将其集成到 Node.js 应用程序中。我们将使用 Express 作为 Node.js 应用程序,并使用中间件集成 WebSocket 服务器。
首先,让我们安装 Express 和相关中间件。
npm install express @types/express express-ws @types/express-ws
安装完成后,让我们创建一个名为 server.ts
的文件,并添加以下代码。
-- -------------------- ---- ------- ------ ------- ---- ---------- ------ --------- ---- ------------- ------ - -- -- ---- ----- ----- --- - ---------- ----- ---- - ----- ----- - ---- ----- - - --------------- --------------- ---- --- -- - ------------------- ------------ ---------------- --------- ------- -- - --------------------- ------- -- ------------- --- --------------- ---------- --- ---------------- -- -- - ------------------- ------- -- ---- ---------- ---
这段代码将创建名为 ws
的 WebSocket 路径,并使用 express-ws
中间件将 WebSocket 服务器添加到 Express 应用程序中。
发送消息到 WebSocket 服务器
现在,您已经在 Node.js 应用程序中集成了 WebSocket 服务器。我们需要一个机制来将消息发送到服务器。在我们的示例中,我们将使用 fetch
API 实现这一点。
fetch('ws://localhost:3000/ws', { method: 'POST', body: 'Hello, server!' });
这段代码将向 WebSocket 服务器发送“Hello, server!”消息。
结论
在本文中,我向您展示了如何在 Node.js 中使用 TypeScript 编写 WebSocket 服务器,并将其集成到 Express 应用程序中。我还向您展示了如何使用 fetch
API 向服务器发送消息。希望这篇文章能够帮助您更好地理解 WebSocket,并将其与您的项目中的 Node.js 应用程序集成。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f29709a44b36ee57667cee