服务器端createServer的回调函数被执行时,说明来了一个新的客户端发起的连接:
server = net.createServer(function (socket) {
sender = socket.remoteAddress + ":" + socket.remotePort
clients.push({
id: sender,
socket: socket,
group: "",
subscription: false,
name: ""
});
log.info("TCP server has got a new connection: " + sender);
record();
然后通过events module里提供的EventEmitter实例暴露的emit方法发布newConnection2的事件:
const events = require('events');
const eventEmitter = new events.EventEmitter();
eventEmitter.emit('newConnection2',socket);
使用TCP服务器的应用程序监听这个事件,就能进行相应处理:
运行时效果如图: