一、安装node.js
首先,我们需要在本地计算机上安装node.js环境。可以从官方网站https://nodejs.org/下载适合自己操作系统的node.js安装程序,并按指示进行安装。安装完成后,可以在终端或命令行中输入以下命令来验证node.js是否已成功安装:
node -v
如果返回了当前已安装的node.js版本号,则说明node.js已成功安装。
二、创建websocket服务器
在安装ws模块之前,我们可以先创建一个websocket服务器,以便更好地理解如何使用该模块。可以通过以下步骤来创建一个websocket服务器:
在本地创建一个文件夹,用于存放项目文件。在命令行中定位到项目文件夹,然后输入以下命令来初始化一个新的node.js项目:
npm init -y
然后,在项目文件夹中创建一个名为server.js的文件,并输入以下代码来创建一个websocket服务器:
const websocket = require(ws); const server = new websocket.server({ port: 8080 }); server.on(connection, socket => { socket.on(message, message => { console.log(`received message => ${message} `); }); socket.send(hello! message from server!!); });
代码的第一行引入了ws模块,然后创建了一个websocket服务器实例。该实例使用端口号8080监听传入的连接。当服务器接收到新的websocket连接时,会触发“connection”事件。在该事件处理程序中,我们可以监听连接上接收到的消息,并向连接发送消息。
在命令行中输入以下命令来启动websocket服务器:
node server.js
如果一切正常,则可以看到类似于以下输出:
websocket server listening on port 8080
三、安装ws模块
现在,我们已经准备好使用ws模块了。可以在项目文件夹中输入以下命令来安装ws模块:
npm install ws
四、创建websocket客户端
创建websocket客户端也很简单。我们可以在新的终端或命令行窗口中输入以下代码来创建一个websocket客户端:
const websocket = require(ws);const socket = new websocket(ws://localhost:8080);socket.on(open, () => { console.log(connected to websocket server...);});socket.on(message, message => { console.log(`received message => ${message}`);});socket.on(close, () => { console.log(disconnected from websocket server...);});
在第二行中,我们创建了一个websocket客户端实例,并传递了websocket服务器的地址和端口号。当websocket客户端连接到服务器时,会触发“open”事件。我们可以在该事件响应函数中输出一条连接成功的消息。
在第五行中,我们监听了“message”事件,以便监听从服务器接收到的消息。我们可以在该事件响应函数中输出从服务器接收到的消息。
在第八行中,我们监听了“close”事件,以便在websocket客户端从服务器断开连接时输出一条消息。
现在,可以在命令行中输入以下命令来启动websocket客户端:
node client.js
当websocket客户端连接成功时,会输出“connected to websocket server...”消息。然后,websocket客户端会等待从服务器接收消息。可以在websocket服务器实例上向客户端发送消息,以便在客户端上接收到服务器发送的消息。
结论
本文介绍了如何在node.js中安装和使用ws模块来实现websocket通信。我们创建了一个websocket服务器,并在其中将连接的客户端日志输出到控制台。接着,我们安装了ws模块,并创建了一个websocket客户端来连接到服务器。我们监听了websocket客户端的开放、关闭和消息事件,并将websocket服务器发送的消息输出到控制台。这些技术可以应用于实时web应用程序、在线游戏、聊天应用程序等领域。
以上就是nodejs安装ws模块的详细内容。
