如何将数据从C#推送到ZeroMQ,并从Node.JS进行提取,反之亦然?

场景

我想通过ZeroMQ从C#сonsole应用程序发送一个数据(比如Stringtypes)到Node.JS服务器。

信息:

C#使用clrzmq,C#和Node.JS使用ZeroMQ库

我能够从Node.JS执行推挽 ,也是从C# 推拉 。

因此,有一点可以肯定的是, ZeroMQ – 智能传输层安装在机器上(Windows 7 64位)

问题

我无法将数据从C#控制台应用程序推送到Node.JS应用程序(甚至尝试反之亦然),都在同一台计算机上,并在相同的地址即tcp://127.0.0.1:2222

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); }); 

C#代码:

 namespace DataServiceEngine { class Program { static void Main(string[] 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"); string 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); } } } } 

:有谁能告诉我可能是什么原因或我在哪里做错了?

我有同样的问题(但我发出了沟通Node.JS – > Node.JS)。 为了解决我用来做sendersocket.connect("tcp://"+host+":"+port); 在sender和receiversocket.bindSync("tcp://*:"+port); 在接收器。

希望这能解决你的问题。