add TCP Server - with retry (node demo)
This commit is contained in:
parent
87e38f5e26
commit
928dad71b9
61
tools/server-client/tcp-server-node-demo-with-retry.js
Normal file
61
tools/server-client/tcp-server-node-demo-with-retry.js
Normal file
@ -0,0 +1,61 @@
|
||||
/**
|
||||
* TCP Server - with retry (node demo)
|
||||
* CommonJS
|
||||
*/
|
||||
// 引入net模块
|
||||
var net = require('net');
|
||||
|
||||
const port = 3000
|
||||
|
||||
// 定义一个延迟时间
|
||||
const delay = 5000;
|
||||
|
||||
// 定义create()方法,创建一个tcp服务端
|
||||
function create() {
|
||||
// 创建一个tcp服务端对象
|
||||
var server = net.createServer();
|
||||
|
||||
// 监听连接事件
|
||||
server.on('connection', function (socket) {
|
||||
// 打印客户端地址和端口号
|
||||
console.log('客户端已连接,地址:' + socket.remoteAddress + ',端口:' + socket.remotePort);
|
||||
|
||||
// 监听数据事件
|
||||
socket.on('data', function (data) {
|
||||
// 打印接收到的消息
|
||||
console.log('接收到消息:' + data.toString());
|
||||
});
|
||||
|
||||
// 监听错误事件
|
||||
socket.on('error', function (err) {
|
||||
// 打印错误信息
|
||||
console.log('发生错误:' + err.message);
|
||||
// 关闭连接
|
||||
socket.destroy();
|
||||
// 释放资源
|
||||
socket.unref();
|
||||
});
|
||||
});
|
||||
|
||||
// 监听错误事件
|
||||
server.on('error', function (err) {
|
||||
// 打印错误信息
|
||||
console.log('发生错误:' + err.message);
|
||||
// 关闭服务端
|
||||
server.close();
|
||||
// 释放资源
|
||||
server.unref();
|
||||
|
||||
console.log('尝试重新创建服务端');
|
||||
// 设置一个延迟时间后重新创建服务端
|
||||
setTimeout(create, delay);
|
||||
});
|
||||
|
||||
// 监听端口
|
||||
server.listen(port, function () {
|
||||
console.log('服务端已启动,监听端口: ' + port);
|
||||
});
|
||||
}
|
||||
|
||||
// 调用create()方法,启动服务端
|
||||
create();
|
Loading…
Reference in New Issue
Block a user