Wpis z mikrobloga

Mam tablice w której znajdują się obiekty, nazwa oraz payload. Chce wysłać każdy po kolei jako pakiet TCP tylko przed wysłaniem kolejnego chce poczekać na odpowiedź na poprzedni. Próbowałem iterować po tablicy for of ale kończy się to tak że dostaje 5x odpowiedź na ostatni payload i tyle. Jak inaczej to rozegrac? Niżej kod do podglądu:
Wiem że ten await i ta funkcja jest do dupy ( ͡° ͜ʖ ͡°)

const net = require('net');

const IP = 'xxxxxxxx'
const PORT = xxxxxx

const packets = [
{ name: 'basic info', payload: Buffer.from([6, 0, 255, 1, 1, 0, 0, 0]) },
{ name: 'server owner info', payload: Buffer.from([6, 0, 255, 1, 2, 0, 0, 0]) },
{ name: 'misc server info', payload: Buffer.from([6, 0, 255, 1, 4, 0, 0, 0]) },
{ name: 'players info', payload: Buffer.from([6, 0, 255, 1, 8, 0, 0, 0]) },
{ name: 'server map info', payload: Buffer.from([6, 0, 255, 1, 16, 0, 0, 0]) },
];

const client = new net.Socket();

client.connect(PORT, IP);

client.on('error', (e) => {
console.log(e);
});

async function sendPayload(payload) {
client.write(payload)
await client.on('data', (d) => {
console.log(d)
})
};

for (const elem of packets) {
sendPayload(elem.payload);
}

#nodejs #js
  • 1