dimanche 3 juillet 2016

NodeJS TCP Client communication

First of all - I am aware of this answer to a kind of similar problem.

Problem

I have a third party protocol, that uses TCPIP. This protocol defines that the server replies to every message received. On the client side (which I try to implement) I have to wait for the answer from the server.

The problem occurs, when I try to send messages. I need to wait for the answer from the first message before I send the second one (like ping-pong).

I tried to do multiple writes on my NodeJS tcp-client like this, which understandably fails due to async:

client.connect(connectOptions, function () {
  client.write(message1);
  client.write(message2);
}); 

Like I said before, I have a third party component, which responses to both messages with a numeric value. So when

client.on('data',function (data) {});

fires an event, I can't distinguish which message, was responsible for the answer. Unlike the linked answer I don't have the ability, to tag the answer on the server side.

I am new to node.js, so I try to figure out the best way to solve this kind of problem, as it´s of the nature: do synchronous things in the async environment.

Aucun commentaire:

Enregistrer un commentaire