你好,我是套接字编程的新手。我每隔5秒就会收到来自各种设备的数据。假设有10台设备连接到我的套接字服务器,该服务器一直以5秒的间隔提供数据。每个设备都有一个唯一的ID。这些设备不希望来自服务器的任何消息。我成功接收了数据,将其解析并输入数据库。
现在有一个移动应用程序连接到该节点服务器,该服务器也已连接到设备。该移动应用程序/客户端发送一个字符串,并询问“为我提供例如设备#3的数据”的节点服务器。因此,我想做的是将设备3连接到移动应用程序,后者将发送字符串,解析数据并继续向移动应用程序发送数据。然后,移动应用将在5秒间隔后接收数据。这就是我要做的。
这是仅从10个设备接收数据的代码。任何帮助,将不胜感激。谢谢
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("error", function(err) {
console.log("socket error: ")
console.log(err.stack);
socket.destroy();
});
socket.on('data', function(data) {
//The data comes here from 10 devices. Here I run the parsing method
});
}).listen(PORT, HOST);
}
注意:我不想只向移动应用发送一次数据。我想一直将数据从设备发送到移动应用程序,直到套接字与移动应用程序断开连接。