node.js学习之创建TCP服务器

时间:2022-03-04 18:50:03
/*createServer方法与listen方法的简单实例*/

var net = require('net');
var server = net.createServer(function (socket) {
//当客户端与服务器建立连接时打印
console.log('客户端与服务器端的连接已建立')
});
server.listen(3000,'localhost',function () {
console.log('服务器开始监听3000端口')
})

/*指定服务器地址及端口已被占用时需要的处理*/


var net = require('net');
var server = net.createServer(function (socket) {
//当客户端与服务器建立连接时打印
console.log('客户端与服务器端的连接已建立')
});
server.listen(3000,'localhost');
server.on('error',function (e) {
//当服务器及端口被占用时的错误代码为EADDRINUSE
if(e.code == 'EADDRINUSE'){
console.log('服务器地址及端口已被占用');
}
});

/*使用address方法查看TCP服务器监听的地址信息*/

var net = require('net');
var server = net.createServer(function (socket) {
//当客户端与服务器建立连接时打印
console.log('客户端与服务器端的连接已建立')
});
server.listen(3000,'localhost',function () {
var address = server.address();
console.log('被监听的地址信息为 %j',address);
//本机输出:被监听的地址信息为 {"address":"127.0.0.1","family":"IPv4","port":3000}
})

/*使用getConnections方法查询当前存在的客户端连接数并设置最大值*/

var net = require('net');
var server = net.createServer(function (socket) {
server.getConnections(function (err, count) {
console.log('当前存在%d个客户端连接',count);
server.maxConnections = 2;
console.log('TCP服务器的最大链接数为 %d',server.maxConnections);
})
});
server.listen(3000,'localhost');
console.log('TCP服务器被创建');

/*使用close方法拒绝新的客户端连接请求*/

var net = require('net');
var server = net.createServer(function (socket) {
//当第一个客户端连接被关闭后,TCP服务器也被被关闭
server.close(function () {
console.log('TCP服务器被关闭');
});
}).listen(3000,'localhost');