新增 websocket client(node)
This commit is contained in:
parent
155206f77a
commit
9a317f93e9
69
tools/client/node-websocket-client-with-retry.js
Normal file
69
tools/client/node-websocket-client-with-retry.js
Normal 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);
|
38
tools/client/node-websocket-client.js
Normal file
38
tools/client/node-websocket-client.js
Normal 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);
|
Loading…
Reference in New Issue
Block a user