Мое веб-приложение NodeJS, использующее ExpressJS, получает данные из приложения Android. При получении данных мы отправляем данные на другой сервер через поток сокетов TCP / IP.Все работает нормально, но так как данные отправляются с очень хорошей скоростью, соединения для некоторых транзакций на сервере отклоняются.Нам нужно создать задержку между вызовами API или записью Socket, чтобы соединение не отказывало.Вот мой код
function send(data, tr_id, server_ip, port) {
var client = new net.Socket();
client.connect(port, server_ip, function () {
try {
console.log('Connected');
client.write(data);
} catch (error) {
console.log("Send function error " + error);
}
});
client.on('data', function (data) {
console.log('Received: ' + data);
//set the flag 1 in tbl_transactions
if (data.includes("status='ACK'")) {
dbConn.query("UPDATE tbl_transaction set flag='1' where tr_id =" + tr_id, function (err, rows, fields) {
if (err)
console.log('error occured in updating flag - ' + err.code + " ,error_description - " + err);
});
}
client.destroy(); // kill client after server's response
});
client.on('close', function () {
console.log('Connection closed');
});
client.on('error', function (error) {clearImmediate
console.log(error);
});
}
Я пробовал таймеры, но не будет ли другого надежного решения?