前言
随着互联网的不断发展,现在越来越多的应用需要实时通信。传统的 HTTP 协议,所采用的请求-响应模型,不再满足实时通信的需求。而 WebSocket 作为一种全双工通信协议,可以很好地满足实时通信的需求。本文将介绍如何在 Express.js 应用程序中使用 WebSocket 实现即时通信。
创建 Express 项目
在开始之前,我们需要先安装 Node.js 和 Express。如果您已经安装了 Node.js,可以使用以下命令安装 Express:
- --- ------- -- -----------------
安装完成之后,可以使用以下命令创建一个新的 Express 项目:
- ------- -----
创建完成后,切换到 myapp 目录,并安装依赖:
- -- ----- - --- -------
启动应用程序:
- --- -----
在浏览器中访问 http://localhost:3000/
,应该能看到 Express 的欢迎页面。
添加 WebSocket 支持
在创建完 Express 项目之后,我们需要添加 WebSocket 支持。可以使用 ws
模块来实现。具体来说,我们需要完成以下几个步骤:
安装
ws
模块:- --- ------- ------ --
在 Express 项目中引入
ws
模块:--- --------- - --------------
创建 WebSocket 服务器:
--- --- - --- ------------------ ----- ---- ---
监听 WebSocket 连接:
-------------------- -------- ---- - ------------------- ------------ ---
这段代码中,
ws
参数代表连接上来的 WebSocket 对象。发送消息:
---------------- ---- ---------
完整的代码如下所示:
--- --------- - -------------- --- --- - --- ------------------ ----- ---- --- -------------------- -------- ---- - ------------------- ------------ ---------------- -------- --------- - ---------------------- ---- --------- ---------------- ---- --------- --- ---
示例
现在我们已经可以使用 WebSocket 在 Express.js 应用程序中实现即时通信了。下面是一个完整的示例:
--- ------- - ------------------- --- --------- - -------------- --- --- - ---------- ---------------------------------- --- --- - --- ------------------ ------- ---------------- --- -------------------- -------- ---- - ------------------- ------------ ---------------- -------- --------- - ---------------------- ---- --------- ---------------- ---- ------- - - --------- --- -------------- -------- -- - ------------------- --------------- --- ---
这段代码将创建一个静态文件服务器,并在 ws
对象上监听 WebSocket 连接。在收到消息之后,会将消息原样返回给客户端。
结论
WebSocket 是一种非常方便的实时通信协议,可以很好地满足需求。在 Express.js 应用程序中使用 WebSocket 实现即时通信,可以方便地与其他 Node.js 模块集成。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6714bcf5ad1e889fe2157d64