2017-07-15 1 views
0

Je souhaitais implémenter ICP sous Mac OSX, j'ai donc appris à connaître ZeroMQ via googling. J'ai installé ZeroMQ à l'aide de la commande zmq d'installation de brassage Cependant, il y a très peu d'informations sur ZeroMq sous Mac OSX, donc j'ai des problèmes avec certains problèmes.Utilisation de ZMQ en C# et Mac Os X

Cet exemple est téléchargé sur la page d'accueil de 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()); 
     } 
    } 
} 
} 

Quand je lance ce code, je vais une exception The type initializer for 'ZeroMQ.lib.zmq' threw an exception. Il y a plusieurs façons de résoudre l'exception, mais il n'y a pas de solution sous Mac OSX.

S'il vous plaît aidez-moi ...

Répondre

0

J'ai trouvé que la version publiée de https://github.com/zeromq/clrzmq4 œuvres sous Mac OS X uniquement dans des circonstances très particulières, en raison de plusieurs questions liées au chargement de la bibliothèque de libzmq native. Ceci est fixé dans une certaine mesure dans le maître. Il y a maintenant CI sous MacOS X, donc vous pouvez jeter un oeil au script CI sous https://github.com/zeromq/clrzmq4/blob/master/build.sh pour une façon d'installer et de construire cela fonctionne.

0

Je poster cela comme un commentaire, mais ne pas le représentant:

Avez-vous essayé d'utiliser NetMQ (https://github.com/zeromq/netmq)? Je ne l'ai pas utilisé sur OSX (seulement Windows), mais c'est une implémentation native de ZMQ en C# que j'ai trouvé assez bien conçue, et qui selon moi pourrait être plus facile à travailler que ce que vous utilisez, Je suppose que c'est un wrapper C# autour de la bibliothèque C. En outre, si vous souhaitez obtenir de l'aide sur la bibliothèque spécifique que vous utilisez, vous devez probablement indiquer comment vous avez déjà tenté de résoudre l'exception, car vous déclarez qu'il existe plusieurs façons de corriger l'exception, mais il n'y a pas de solution sous Mac OSX ".