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

559
Visualizações
¿Cómo enviar paquetes udp usando nodejs?

Bueno, tengo una pequeña ruta que debería enviar un paquete UDP e imprimir una confirmación. Según la documentación del nodo, lo siguiente debería funcionar bien:

 const dgram = require('dgram'); export async function sendUDP(sess, parameters: {}, res) { const client = dgram.createSocket('udp4'); client.send('Hello World!',0, 12, 12000, '127.0.0.1', function(err, bytes) { client.close(); }); //res is the response object from express return res.send("Send udp packet"); }

Debe enviar una solicitud UDP al puerto 12000 en la IP de devolución de llamada (máquina local). Y también envíe una respuesta de que se ha enviado el paquete UDP.

Observo la respuesta Send udp packet recibido en el cartero cuando publico en la URL correcta. Así que eso está funcionando.

Sin embargo, los paquetes UDP parecen estar perdidos, usar tcpdump en mi ubuntu local da como resultado la nada:

 sudo tcpdump -n udp port 12000 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on wlp5s0, link-type EN10MB (Ethernet), capture size 262144 bytes 0 packets captured 0 packets received by filter 0 packets dropped by kernel

(Mientras tcpdump se ha mantenido en ejecución durante la prueba de las funciones, por supuesto). ¿A dónde van las solicitudes UDP? ¿Qué sucedió?

Deseo tener un registrador de vida para poder probar las aplicaciones de nodejs usando udp fácilmente.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Debe indicarle a tcpdump la interfaz que debe escuchar .

tcpdump -i bajo puerto udp 12000

lo es la interfaz para localhost.

Más información en este enlace

Puede usar wireshark si desea guardar el registro de tráfico.

Yo uso '!(udp.port == 53 || tcp.port == 53) && udp' como filtro para buscar solo el paquete udp.

Agrego este código a mi servidor y envío el paquete udp allí para imprimir el contenido

 const dgram = require('dgram'); const serverUDP = dgram.createSocket('udp4'); serverUDP.on('error', (err) => { console.log(`serverUDP error:\n${err.stack}`); serverUDP.close(); }); serverUDP.on('message', (msg, rinfo) => { console.log(`serverUDP got: ${msg} from ${rinfo.address}:${rinfo.port}`); }); serverUDP.on('listening', () => { const address = serverUDP.address(); console.log(`serverUDP listening ${address.address}:${address.port}`); }); serverUDP.bind(3001);

Es el ejemplo de código de la documentación del nodo .

over 4 years ago · Santiago Trujillo 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