1. TCP
在Node.js中,提供了net模块用来实现TCP服务器和客户端的通信。
1.1 TCP服务器
net.createServer([options][, connectionListener])
也可以通过监听connection事件的方式来指定监听函数
server.on('connection',function(socket){});
1.1.1 启动TCP服务器
可以使用listen方法通知服务器开始监听客户端的连接
server.listen(port,[host],[backlog],[callback])
server.on('listening',function(){});
1.1.2 使用TCP服务器
let net = require('net');let server = net.createServer(function(socket){ console.log('客户端已连接');});server.listen(8080,'localhost',function(){ console.log('服务器开始监听');});
1.1.3 address
server.address()port 端口号 address TCP服务器监听的地址 family 协议的版本
1.1.4 getConnections
查看当前与TCP服务器建立连接的客户端的连接数量以及设置最大连接数量
server.getConnections(callback); server.maxConnections = 2;
1.1.5 close
使用close方法可以显式拒绝所有的客户端的连接请求,当所有已连接的客户端关闭后服务器会自动关闭,并触发服务器的close事件。
server.close();server.on('close',callback);
1.2 socket
1.2.1 address
net.Socket代表一个socket端口对象,它是一个可读可写流。
let net = require('net');let util = require('util');let server = net.createServer(function(socket){ server.getConnections((err,count)=>{ server.maxConnections = 1; console.log('最大连接数量%d,当前连接数量%d',server.maxConnections,count); }); let address = socket.address(); console.log('客户端地址 %s',util.inspect(address));});
1.2.2 读取数据
let server = net.createServer(function (socket) { socket.setEncoding('utf8'); socket.on('data', function (data) { console.log('本次收到的内容为%s,累计收到的字节数是%d', data, socket.bytesRead); });});
1.2.3 监听关闭事件
let server = net.createServer(function (socket) { socket.on('end', function () { console.log('客户端已经关闭'); });});
新闻热点
疑难解答
图片精选