Comment transférer des données de C # vers ZeroMQ et extraire de Node.JS ou inversement?

Scénario :

J’essaie d’envoyer des données (par exemple, du type Ssortingng ) de l’application de la console C # au serveur Node.JS via ZeroMQ.

Information:

Utilisation de clrzmq pour les bibliothèques c # et ZeroMQ pour C # et Node.JS respectivement

Je suis capable d’effectuer push-pull de Node.JS, également push – pull de C #.

Donc, une chose est confirmée que ZeroMQ – La couche de transport intelligent est installée sur la machine (Windows 7 64 bits)

Problème :

Je ne suis pas en mesure de transmettre les données de l’application C # Console à l’application Node.JS (même si on a essayé de l’inverser), les deux sont sur le même tcp://127.0.0.1:2222 et à la même adresse, par exemple tcp://127.0.0.1:2222

Code Node.js:

 var zmq = require('zeromq.node'); var pull_socket = zmq.socket('pull'); pull_socket.connect('tcp://127.0.0.1:2222'); pull_socket.on('message', function (data) { console.log('received data:\n'); console.log(data); }); 

Code C #:

 namespace DataServiceEngine { class Program { static void Main(ssortingng[] args) { //clsApp App = new clsApp(); //App.appId = "001"; //App.name = "Back Office"; //Console.WriteLine("appId :" + App.appId + "\n"); //Console.WriteLine("name:" + App.name + "\n"); try { // ZMQ Context and client socket using (var context = new Context(1)) { using (Socket client = context.Socket(SocketType.PUSH)) { client.Connect("tcp://127.0.0.1:2222"); ssortingng request = "Hello"; for (int requestNum = 0; requestNum < 10; requestNum++) { Console.WriteLine("Sending request {0}...", requestNum); client.Send(request, Encoding.Unicode); string reply = client.Recv(Encoding.Unicode); Console.WriteLine("Received reply {0}: {1}", requestNum, reply); } } } } catch (ZMQ.Exception exp) { Console.WriteLine(exp.Message); } } } } 

Question : Quelqu’un peut-il me dire quelle peut être la raison ou ce que je fais mal?

J’ai eu le même problème (mais j’ai émis une communication Node.JS -> Node.JS). Pour résoudre le problème, j’avais l’habitude de faire sendersocket.connect("tcp://"+host+":"+port); à l’expéditeur et receiversocket.bindSync("tcp://*:"+port); au récepteur.

J’espère que cela résoudra votre problème.