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

138
Views
socket.remoteAddress no está definido cuando hay un tiempo de espera o un error

Hice esta función de promesa que hace una conexión a un host específico; sin embargo, necesito tener la dirección remota para estar presente en los registros cuando hay un tiempo de espera o un error. Parece que esto se elimina del objeto. Este es mi código:

 const makeTCPConnection = async (host, portNumber) => new Promise((resolve, reject) => { const client = new Socket(); let remoteAddress; let localAddress; const timeout = 2; client.setTimeout(timeout); client.connect(portNumber, host, () => { console.log("TCP connection established", { host, portNumber, localAddress, remoteAddress }); }); client.on("connect", () => { localAddress = client.localAddress; remoteAddress = client.remoteAddress; // client.destroy(); resolve(); }); client.on("close", () => { client.destroy(); resolve(); }); client.on("drain", () => { client.destroy(); resolve(); }); client.on("end", () => { client.destroy(); resolve(); }); client.on("timeout", (error) => { console.error("TCP client timeout after 1s", { error, host, portNumber, localAddress, remoteAddress }); // client.destroy(); reject(error); }); client.on("error", (error) => { console.error("TCP client connection error", { error, host, portNumber, localAddress, remoteAddress }); client.destroy(); reject(error); }); });

He estado probando esto con el tiempo de espera principalmente, traté de eliminar el evento client.destroy() en el tiempo de espera, pero luego obtengo como 4 registros antes de obtener el que tiene una dirección remota. Lo mismo está sucediendo con localAddress.

¿Alguien tiene alguna idea?

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!