2017-07-15 10 views
0

私はMac OSXでICPを実装したいので、私はグーグルでZeroMQについて学びました。 brew install zmqコマンド を使用してZeroMQをインストールしましたが、Mac OSXのZeroMqに関する情報はほとんどないため、いくつかの問題が発生しています。C#とMac OS XでZMQを使うX

これはZeroMQホームページにアップロードされた例です。私はこれらのコードを実行すると、私は例外The type initializer for 'ZeroMQ.lib.zmq' threw an exception. を得るでしょう

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

例外を修正するための多くの方法がありますが、マックOSXでの解決策はありません。

私を助けてください...

答えて

0

https://github.com/zeromq/clrzmq4のリリース版は、MacOS Xでは、非常に特殊な状況下でのみ動作します。これは、ネイティブlibzmqライブラリの読み込みに関連するいくつかの問題が原因です。これはマスターである程度固定されています。 MacOS Xの下にはCIがありますので、そのインストールと構築の方法の1つとして、https://github.com/zeromq/clrzmq4/blob/master/build.shのCIスクリプトをご覧ください。

0

私はコメントとしてこれを投稿したいが、担当者を持っていない:

あなたはNetMQ(https://github.com/zeromq/netmq)を使用してみましたか?私はOSX(Windowsのみ)には使用していませんが、ZMQのネイティブC#実装であり、かなりうまく設計されていることがわかりました。私の意見では、使用しているものよりも動作しやすいかもしれません。私は、Cライブラリの周りにC#ラッパーがあると仮定します。

また、使用している特定のライブラリのヘルプが必要な場合は、「例外を修正する多くの方法がありますがMac OSXには解決策はありません。