gpt4 book ai didi

c# - 如何将数据从 C# 推送到 ZeroMQ 并从 Node.JS 拉取数据,反之亦然?

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:56 25 4
gpt4 key购买 nike

场景:

我正在尝试通过 ZeroMQ 将数据(比如 String 类型)从 C# сonsole 应用程序发送到 Node.JS 服务器。

信息:

分别为 C# 使用 clrzmq 和为 C# 和 Node.JS 使用 ZeroMQ 库

我能够执行 push-pull来自 Node.JS,也是 push - pull来自 C#。

所以,有一件事被证实了ZeroMQ - The Intelligent Transport Layer安装在机器上(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);receiversocket.bindSync("tcp://*:"+port); 在接收端。

希望这能解决您的问题。

关于c# - 如何将数据从 C# 推送到 ZeroMQ 并从 Node.JS 拉取数据,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15676617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com