我正在研究节点js集群。客户端通过TCP连接到我的服务器。目前,我只是在侦听来自不同客户端的数据并将其存储在数据库中。现在,我正在寻找一种功能,例如我想传递从例如客户端#B获得的数据,然后将此数据传递给客户端#C并继续传递。
基本上,客户端#C向我发送了客户端#B的ID,这意味着客户端正在从客户端#B寻找数据,该数据在5秒钟后不断传来。所以我想在两者之间建立联系。
这是我的代码,它仅从所有客户端接收数据
var net = require('net');
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/processAndSaveDataIntoDB',
method: 'POST',
body: {
message:data.toString()
},
json: true
};
console.log(data.toString());
request(options, function (error, response, body) {
});
});
}).listen(PORT, HOST);
}