下面是关于 node.js ws 模块搭建 WebSocket 服务端的方法示例的完整攻略:
1. 什么是 WebSocket?
WebSocket 是一种在单个 TCP 连接上提供双向通信的协议,它是 HTTP 的一种升级,与 HTTP 不同的是 WebSocket 实现了服务器推送数据到客户端的功能,从而实现了实时通信。
2. 什么是 ws 模块?
ws 模块是一个基于 Node.js 的 WebSocket 库,它提供了 WebSocket 服务端和客户端的实现。
3. 在 Node.js 中使用 ws 模块创建 WebSocket 服务端
步骤 1:安装 ws 模块
在命令行中使用以下命令安装 ws 模块:
npm install ws --save
步骤 2:创建 WebSocket 服务器
创建一个 server.js 文件,输入以下代码:
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', function connection(ws) {
console.log('Client connected');
ws.on('message', function incoming(message) {
console.log('received: %s', message);
});
ws.send('Hello, World!');
});
这段代码创建了一个 WebSocket 服务器,监听 8080 端口。当客户端连接到服务器时,会打印 'Client connected',当客户端发送消息到服务器时,会打印消息内容。其中 ws.send() 是通过 WebSocket 发送消息到客户端的 API。
步骤 3:启动 WebSocket 服务器
在命令行中运行以下命令启动 WebSocket 服务器:
node server.js
现在,WebSocket 服务器已经启动了,你可以通过在浏览器中打开 http://localhost:8080 来访问它。
4. 示例 1: 在浏览器中使用 WebSocket 客户端
步骤 1:创建 HTML 文件
创建一个 index.html 文件,输入以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>WebSocket Example</title>
</head>
<body>
<script>
const ws = new WebSocket('ws://localhost:8080');
ws.onopen = function (event) {
alert('Connected');
};
ws.onmessage = function (event) {
console.log('received: ' + event.data);
};
ws.onerror = function (event) {
alert('Error');
};
</script>
</body>
</html>
这段代码创建了一个 WebSocket 对象,并尝试通过 ws://localhost:8080 连接到我们之前创建的 WebSocket 服务器。当连接成功时,会弹出 'Connected',当接收到来自服务器发送的消息时,可以在控制台中看到消息内容。
步骤 2:运行 HTML 文件
在浏览器中打开 index.html 文件。当 WebSocket 连接成功时,页面会弹出 'Connected',在控制台中会打印 'received: Hello, World!',这是服务器发送的一条消息。
5. 示例 2:在 Node.js 中使用 WebSocket 客户端
除了在浏览器中使用 WebSocket 客户端之外,你还可以通过 ws 模块在 Node.js 中创建 WebSocket 客户端。
步骤 1:创建客户端代码
在 Node.js 中创建一个名为 client.js 的文件,输入以下代码:
const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:8080');
ws.on('open', function open() {
console.log('Connected');
ws.send('Hello, World!');
});
ws.on('message', function incoming(data) {
console.log('received: %s', data);
});
ws.on('error', function error() {
console.log('Error');
});
这段代码创建了一个 WebSocket 客户端,并尝试通过 ws://localhost:8080 连接到我们之前创建的 WebSocket 服务器。当连接成功时,会打印 'Connected',当接收到来自服务器发送的消息时,会打印消息内容。其中 ws.send() 是通过 WebSocket 发送消息到服务器的 API。
步骤 2:运行客户端代码
在命令行中运行以下命令来运行客户端代码:
node client.js
客户端代码会尝试连接到我们之前创建的 WebSocket 服务器,并发送一条消息。当连接成功时,会打印 'Connected',当接收到来自服务器发送的消息时,会打印消息内容。
至此,你已经学会了如何使用 ws 模块搭建 WebSocket 服务端,并同时提供了两个示例说明。希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js ws模块搭建websocket服务端的方法示例 - Python技术站