Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

135
Views
Creación de múltiples servidores UDP para escuchar mensajes de difusión en NodeJS

Necesito tener un servidor UDP que pueda escuchar los mensajes de difusión y responder con un mensaje que contenga la dirección IP de mi máquina (el remitente de la difusión espera que mi IP esté en el cuerpo del mensaje).

Si vinculo el servidor a todas las interfaces disponibles (proporcionando solo el puerto), puedo recibir transmisiones perfectamente, así:

 const dgram = require('dgram'); const server = dgram.createSocket('udp4'); server.on('message', (msg, rinfo) => { console.log(msg.toString()) // I need to send my IP address here with server.send() }) server.bind(44818, () => { console.log(`Server created at ${server.address().address}`) })

El problema es que server.address().address devuelve 0.0.0.0 , por lo que no puedo devolver una dirección IP válida/accesible.

Intenté crear un servidor UDP manualmente para cada interfaz disponible en mi máquina:

 const dgram = require('dgram'); const os = require('os'); const interfaces = os.networkInterfaces() for (const interface in interfaces) { if (interface !== 'lo') { const server = dgram.createSocket('udp4'); server.on('message', (msg, rinfo) => { console.log(msg.toString()) }) server.bind(44818, interfaces[interface][0].address, () => { console.log(`Server created at ${server.address().address} (${interface})`) }) } }

Ahora server.address().address devuelve la dirección IP específica a la que está vinculado cada servidor, pero por alguna razón ahora no puedo recibir mensajes de difusión, es decir, el evento 'message' nunca se llama.

¿Alguna sugerencia sobre cómo podría hacer esto?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!