У меня есть ArduinoClient A, подключенный к моему nodejs websocketserver, если это единственный клиент, который отвечает серверу гладко и никаких ошибок не происходит. Но когда другой сервер ArduinoClient B подключился к серверу, предыдущий клиент отключился. Я проверил свои функции и применил метод asyn c, await, обещание, но все-таки это ошибка, я не очень хорош в сокете вроде newb ie ниже мой код сервера сокетов
s.on('connection', function (ws, req) {
ws.isAlive = true;
client_connect++;
ws.on('message', function (message) {
s.clients.forEach(function (client) { //broadcast incoming message to all clients (s.clients)1
if (client.isAlive === false) return client.terminate();
ws.isAlive = false;
ws.ping(noop);
var msg_parse = JSON.parse(message);
client_data = [];
// msg_parse.soilM < 150 ? fogger.writeSync(1) : fogger.writeSync(0);
// msg_parse.lightI < 30 ? lightcontrol.writeSync(1) : lightcontrol.writeSync(0);
var averageHumidtiy = 0;
var averageLightIntensity = 0;
for(x=0; x < client_connect; x++)
{
client_data.push({ tempc: msg_parse.tempC, humidity: msg_parse.humid, soilm: msg_parse.soilM, lightInt: msg_parse.lightI });
averageHumidtiy += msg_parse.humid;
averageLightIntensity += msg_parse.lightI;
if(x+1 == client_connect)
{
lightLogControls(averageLightIntensity);
foggerLogControl(averageHumidtiy);
waterLogControl(msg_parse.waterLog);
}
}
});
});
ws.on('close', function () {
client_connect--;
console.log(client_connect);
console.log("lost one client");
});
console.log(client_connect);
console.log("new client connected");
ws.on('pong', heartbeat); });