带有多线程和多处理功能的node js并行TCP / IP套接字服务器

时间:2018-07-16 16:04:52

标签: node.js multithreading sockets tcp multiprocessing

您好,我正在侦听来自连接到一个端口和ip的多个客户端的多个请求。我将从客户端接收到的数据发布到另一台服务器。我遇到的问题是,随着客户数量的增加,延迟时间也在增加。我认为我无法正确处理来自多个设备的数据。我真正想要的是,如果我正在侦听10个客户端/设备,则数据应同时或并行发布到另一台服务器。不应有任何延迟。我希望数据应该并行处理

目前这是我的代码的样子

var request = require('request');

var net = require('net');
var HOST = '172.xx.x.xx';
var PORT = 52xx;
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
    // Fork workers.
    for (var i = 0; i < numCPUs; i++) {
        cluster.fork();
    }

    cluster.on('death', function(worker) {
        console.log('worker ' + worker.pid + ' died');
        cluster.fork();
    });
} else {
    net.createServer(function(socket){
         console.log('received connection...');
        socket.on('data', function(data) {

            var options = {
  uri: 'http://demourl/api',
  method: 'POST',
  body: {
    message:data.toString()
  },
  json: true 

};
             console.log(data.toString());

             request(options, function (error, response, body) {

});

        });


    }).listen(PORT, HOST);
}

0 个答案:

没有答案