Why the nodejs net socket does not send the data in the first connection?

0

Hello,

this is my code in lambda which runs based on SQS messages arrival.

var net = require('net'); let client = new net.Socket(); console.log(" ------------------- Attempt to connect... --------------------"); client.connect(port, 'ip', () => { console.log(" ------------------- Connected --------------------"); client.write(jsonres.raw_message); //This will send the byte buffer over TCP console.log(" ------------------- Message Sent! --------------------"); client.end(); console.log(" ------------------- Disconnected --------------------"); });

If I run this code from my PC it works but from AWS lambda I don't reach "connected" state. In the pcap I see the TCP init with 3 messages, SYN + SYN/ACK + ACK but no PSH/data. Why? If I send another message in short time I will get the first message in the serveer... It's like its on holding in AWS and just sent in the next connect... delay/Promise does not work. any idea?

1 個回答
0

solved by using function with callback. Tks to this page: https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html

已回答 10 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南