我想在Mac OSX上实施ICP,所以我通过谷歌搜索了解了ZeroMQ。 我使用brew install zmq命令安装了ZeroMQ 但是,在Mac OSX上关于ZeroMq的信息很少,所以我遇到了一些问题。
这是在ZeroMQ主页上传的示例。
public static void HWClient(string[] args)
{
using (var context = new ZContext())
using (var requester = new ZSocket(context, ZSocketType.REQ))
{
// Connect
requester.Connect("tcp://127.0.0.1:5555");
for (int n = 0; n < 10; ++n)
{
string requestText = "Hello";
Console.Write("Sending {0}...", requestText);
// Send
requester.Send(new ZFrame(requestText));
// Receive
using (ZFrame reply = requester.ReceiveFrame())
{
Console.WriteLine(" Received: {0} {1}!", requestText, reply.ReadString());
}
}
}
}
当我运行这些代码时,我会收到异常The type initializer for 'ZeroMQ.lib.zmq' threw an exception.
有很多方法可以解决这个异常,但Mac OSX中没有解决方案。
请帮帮我......
答案 0 :(得分:0)
我发布此评论作为评论,但没有代表:
您是否尝试过使用NetMQ(https://github.com/zeromq/netmq)?我没有在OSX上使用它(只有Windows),但它是ZMQ的原生C#实现,我发现它设计得非常好,在我看来可能比你正在使用的更容易上班,我假设是C库周围的C#包装器。
此外,如果您需要有关您正在使用的特定库的帮助,您应该发布已经尝试修复异常的方法,因为您声明“有很多方法可以修复异常,但是在Mac OSX中没有解决方案“。
答案 1 :(得分:0)
由于与加载本机libzmq库有关的几个问题,我发现https://github.com/zeromq/clrzmq4的发布版本仅在非常特殊的情况下才能在MacOS X下运行。这在主人中有一定程度的固定。现在在MacOS X下有CI,因此您可以查看https://github.com/zeromq/clrzmq4/blob/master/build.sh下的CI脚本,了解安装和构建工作的一种方法。