Utilizzare ZeroMQ con C#

Mattepuffo's logo
Utilizzare ZeroMQ con C#

Utilizzare ZeroMQ con C#

ZeroMQ è una libreria per lo scambio di messaggi tra un client ed un server di tipo brokerless!

Sostanzialmente vuol dire che nella libreria è già incluso tutto quello che ci serve, senza altre configurazioni.

In questo articolo vediamo un esempio di utilizzo in C#.

Come potete dalla documentazione abbiamo due possibilità; noi useremo NetMQ che potete installare tramite NuGET.

Una volta fatto, vediamo un esempio di server:

using NetMQ;
using NetMQ.Sockets;

namespace CSharpTest
{
    class Program
    {
        static void Main(string[] args)
        {
            server();
        }

        static void server()
        {
            Console.WriteLine("Server avviato...");
            using (var responder = new ResponseSocket())
            {
                responder.Bind("tcp://*:5555");

                while (true)
                {
                    string str = responder.ReceiveFrameString();
                    Console.WriteLine(str);
                    Thread.Sleep(1000);
                    responder.SendFrame("CIAO DAL SERVER");
                }
            }
        }

    }

}

Per quanto riguarda il client, ovviamente potete usare qualsiasi linguaggio.

Se volete usare sempre C#:

using NetMQ;
using NetMQ.Sockets;

namespace CSharpTest
{
    class Program
    {
        static void Main(string[] args)
        {
            client();
        }

        static void client()
        {
            Console.WriteLine("Connessione al server...");
            using (var requester = new RequestSocket())
            {
                requester.Connect("tcp://localhost:5555");

                int requestNumber;
                for (requestNumber = 0; requestNumber != 5; requestNumber++)
                {
                    requester.SendFrame("CIAO DAL CLIENT!");
                    string str = requester.ReceiveFrameString();
                    Console.WriteLine("RISPOSTA DAL SERVER: {0}", requestNumber);
                }
            }
        }

    }

}

Enjoy!


Condividi

Commentami!