【问题标题】:Using ZMQ in C # and Mac Os X在 C# 和 Mac Os X 中使用 ZMQ
【发布时间】:2017-07-27 16:42:26
【问题描述】:

我想在 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 中没有解决方案。

请帮帮我...

【问题讨论】:

    标签: c# macos zeromq


    【解决方案1】:

    我发现https://github.com/zeromq/clrzmq4 的发布版本只有在非常特殊的情况下才能在MacOS X 下工作,这是由于与加载本机libzmq 库有关的几个问题。这在某种程度上是固定在主人身上的。现在 MacOS X 下有 CI,因此您可以查看https://github.com/zeromq/clrzmq4/blob/master/build.sh 下的 CI 脚本,了解一种安装和构建的方法。

    【讨论】:

      【解决方案2】:

      我会将此作为评论发布,但没有代表:

      您是否尝试过使用 NetMQ (https://github.com/zeromq/netmq)?我没有在 OSX(仅限 Windows)上使用它,但它是 ZMQ 的原生 C# 实现,我发现它设计得非常好,在我看来可能比你使用的更容易工作,我假设是 C 库的 C# 包装器。

      此外,如果您需要有关您正在使用的特定库的帮助,您可能应该发布您已经尝试修复异常的方法,因为您声明“有很多方法可以修复异常,但是在 Mac OSX 中没有解决方案”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-08
        • 1970-01-01
        • 1970-01-01
        • 2013-04-27
        • 2013-11-05
        • 1970-01-01
        • 2015-03-03
        • 1970-01-01
        相关资源
        最近更新 更多