方案:如何將數據從C#推送到ZeroMQ並從Node.JS拉出,反之亦然?
我試圖通過ZeroMQ從C#сonsole應用程序發送數據(比如String
類型)的node.js服務器。
信息:
使用C#和ZeroMQ庫爲C#和Node.js的clrzmq分別
我能夠從Node.js的執行push-pull,也push - 從C#pull。
所以,有一件事是證實ZeroMQ - The Intelligent Transport Layer被安裝在機器上(Windows 7的64位)
問題:
我無法從C#控制檯應用程序數據推送到節點。 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);
}
}
}
}
問題:誰能告訴我可能是什麼原因或者我做錯了什麼?
問題**不應該是關於該主題的常見問題解答。沒有項目主頁和維基百科鏈接是必要的。謝謝你的理解。乾杯! – abatishchev 2013-03-29 01:48:46