随着互联网技术的不断发展,实时通讯功能越来越受到广泛的关注。传统的HTTP请求响应模式无法满足实时通讯的需求,因此出现了WebSocket协议,能够实现双向通信,从而实现实时通讯的功能。而Express.js是一个流行的Node.js Web框架,可以用于构建Web应用程序和API。本文将介绍如何使用Express.js和Websocket实现实时通讯功能。
创建Express.js应用程序
首先,需要安装Node.js。然后,在命令行中执行以下命令来创建新的Express.js应用程序:
$ npm install -g express-generator $ express myapp $ cd myapp $ npm install
运行上述命令后,应该能够成功创建一个名为myapp的Express.js应用程序。
添加WebSocket支持
为了添加WebSocket支持,需要安装ws
WebSocket库:
$ npm install ws --save
接下来,在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应用程序:
$ npm start
打开浏览器,并访问http://localhost:3000/
,理论上应该可以看到一个简单的WebSocket客户端页面。打开浏览器的控制台,应该可以看到connected
和received message
日志。
总结
使用Express.js和WebSocket实现实时通讯功能很简单,只需要几行代码就可以完成。本文介绍了如何创建一个简单的Express.js应用程序,并使用WebSocket添加实时通讯支持。这个简单的示例可以作为一个起点,进一步探索和开发更复杂的WebSocket实时通讯应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6486dcbf48841e9894575407