Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

271
Visualizações
Disparador de apagado del socket TCP de Node.js

Uso node.js con la clase NET para conectar varias Rasperry Pi.

 //Server const net = require('node:net'); const server = net.createServer(); //Client const tcpConnect = net.createConnection(SERVERINFO);

Por lo tanto, puedo registrar fácilmente múltiples clientes, abrir/cerrar flujos. Todo funciona sin ningún problema.

Pero ahora me di cuenta de que las devoluciones de llamada.

 tcpConnect.on('end', () => { console.log('end triggered') }); tcpConnect.on('close', () => { console.log('close triggered') }); tcpConnect.on('error', () => { console.log('error triggered') });

no funcionen si el servidor sufre un corte de energía repentinamente (por ejemplo, se desconecta la fuente de alimentación). Los clientes no activan un error, finalizan o cierran, por lo que no puedo cerrar la conexión correctamente. Como resultado, no se desencadena un error hasta el próximo intento de escribir algo en una secuencia existente. Pero esta no es una opción para mí, especialmente para el "monitoreo en línea".

¿Alguien sabe una forma de identificar el apagado del servidor inmediatamente?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe habilitar TCP keep-alive para que el cliente detecte que el servidor ya no responde y puede ajustar la frecuencia con la que comprueba una conexión inactiva. (He escrito una descripción genérica del idioma al comienzo de esta respuesta ).

En el nodo, parece que puede hacer esto: socket.setKeepAlive(true) , es decir, para que este cliente detecte que el servidor se ha ido cuando el socket está inactivo:

 //Client const tcpConnect = net.createConnection(SERVERINFO); tcpConnect.setKeepAlive(true);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda