如何使用 Express.js 和 Websocket 实现实时通讯功能

阅读时长 4 分钟读完

随着互联网技术的不断发展,实时通讯功能越来越受到广泛的关注。传统的HTTP请求响应模式无法满足实时通讯的需求,因此出现了WebSocket协议,能够实现双向通信,从而实现实时通讯的功能。而Express.js是一个流行的Node.js Web框架,可以用于构建Web应用程序和API。本文将介绍如何使用Express.js和Websocket实现实时通讯功能。

创建Express.js应用程序

首先,需要安装Node.js。然后,在命令行中执行以下命令来创建新的Express.js应用程序:

运行上述命令后,应该能够成功创建一个名为myapp的Express.js应用程序。

添加WebSocket支持

为了添加WebSocket支持,需要安装wsWebSocket库:

接下来,在Express.js应用程序中,需要添加以下代码来启动WebSocket服务器:

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

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

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

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

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

上述代码监听8080端口,当有客户端连接时,会打印new client connected,并向客户端发送connected消息。当接收到客户端发送的消息时,会打印received: [message],并将server received: [message]返回给客户端。

添加客户端页面

为了便于测试客户端连接,可以创建一个简单的HTML页面。在Express.js应用程序的public文件夹中,创建一个名为index.html的文件,并添加以下代码:

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

上述代码与WebSocket服务器建立连接,并在连接成功后,向服务器发送hello server消息。当收到服务器返回的消息时,会打印received message: [message]

运行应用程序

现在,运行以下命令在本地启动Express.js应用程序:

打开浏览器,并访问http://localhost:3000/,理论上应该可以看到一个简单的WebSocket客户端页面。打开浏览器的控制台,应该可以看到connectedreceived message日志。

总结

使用Express.js和WebSocket实现实时通讯功能很简单,只需要几行代码就可以完成。本文介绍了如何创建一个简单的Express.js应用程序,并使用WebSocket添加实时通讯支持。这个简单的示例可以作为一个起点,进一步探索和开发更复杂的WebSocket实时通讯应用程序。

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

纠错
反馈