Tout d'abord - Je suis au courant de ce answer à un genre de problème similaire.Communication client TCP NodeJS
Problème
J'ai un protocole tiers, qui utilise TCP \ IP. Ce protocole définit que le serveur répond à chaque message reçu. Côté client (que j'essaie de mettre en œuvre), je dois attendre la réponse du serveur.
Le problème se produit lorsque j'essaie d'envoyer des messages. J'ai besoin d'attendre la réponse du premier message avant d'envoyer le second (comme le ping-pong).
J'ai essayé de faire plusieurs écritures sur mon NodeJS tcp client comme celui-ci, qui ne compréhensible en raison de async:
client.connect(connectOptions, function() {
client.write(message1);
client.write(message2);
});
Comme je l'ai déjà dit, j'ai un composant tiers, dont les réponses aux deux messages avec une valeur numérique. Alors, quand
client.on('data',function (data) {});
déclenche un événement, je ne peux pas distinguer quel message, était responsable de la réponse. Contrairement au answer lié, je n'ai pas la possibilité de marquer la réponse du côté serveur. Je suis nouveau sur node.js, alors j'essaie de trouver la meilleure façon de résoudre ce genre de problème, car il est de nature: faire des choses synchrones dans l'environnement asynchrone.
Thx. Je pense, je voudrais aller avec la deuxième approche, je dois l'essayer en premier, mais pour ce que je vois, il pourrait résoudre mon problème. –