1
0
Code Issues Pull Requests Projects Releases Wiki Activity GitHub Gitee

新增 websocket client(node)

This commit is contained in:
程序员小墨 2023-07-29 22:00:28 +08:00
parent 155206f77a
commit 9a317f93e9
2 changed files with 107 additions and 0 deletions

View File

@ -0,0 +1,69 @@
/**
* node websocket server
*/
// 引入websocket依赖
const WebSocket = require('websocket').client;
// 创建一个websocket客户端对象
const client = new WebSocket();
// 定义一个连接地址这里假设是ws://localhost:8080
const url = 'ws://localhost:8080';
// 定义一个重连次数这里假设是3次
const maxRetries = 3;
// 定义一个当前重连次数初始为0
let currentRetries = 0;
// 定义一个重连函数
function reconnect() {
// 如果当前重连次数小于最大重连次数,就尝试重新连接
if (currentRetries < maxRetries) {
// 增加当前重连次数
currentRetries++;
// 打印一条重连消息
console.log('Reconnecting to ' + url + ' (' + currentRetries + '/' + maxRetries + ')');
// 调用client的connect方法
client.connect(url);
} else {
// 否则,打印一条放弃消息
console.log('Giving up on ' + url);
}
}
// 监听连接事件
client.on('connect', function (connection) {
// 连接成功后,打印一条消息
console.log('Connected to ' + url);
// 将当前重连次数重置为0
currentRetries = 0;
// 监听消息事件
connection.on('message', function (message) {
// 收到消息后,打印出来
console.log('Received: ' + message.utf8Data);
});
// 监听关闭事件
connection.on('close', function (reasonCode, description) {
// 连接关闭后,打印一条消息
console.log('Disconnected from ' + url);
// 调用重连函数
reconnect();
});
// 发送一条测试消息
connection.sendUTF('Hello from nodejs');
});
// 监听错误事件
client.on('connectFailed', function (error) {
// 连接失败后,打印一条错误信息
console.error('Connect Error: ' + error.toString());
// 调用重连函数
reconnect();
});
// 开始连接
client.connect(url);

View File

@ -0,0 +1,38 @@
// 引入websocket依赖
const WebSocket = require('websocket').client;
// 创建一个websocket客户端对象
const client = new WebSocket();
// 定义一个连接地址这里假设是ws://localhost:8080
const url = 'ws://localhost:8080';
// 监听连接事件
client.on('connect', function (connection) {
// 连接成功后,打印一条消息
console.log('Connected to ' + url);
// 监听消息事件
connection.on('message', function (message) {
// 收到消息后,打印出来
console.log('Received: ' + message.utf8Data);
});
// 监听关闭事件
connection.on('close', function (reasonCode, description) {
// 连接关闭后,打印一条消息
console.log('Disconnected from ' + url);
});
// 发送一条测试消息
connection.sendUTF('Hello from nodejs');
});
// 监听错误事件
client.on('connectFailed', function (error) {
// 连接失败后,打印一条错误信息
console.error('Connect Error: ' + error.toString());
});
// 开始连接
client.connect(url);