clr_zmq Vs2010版本

.net的消息队列很方便的一个库。 在github上的主版本虽然也支持fw4.0,但是必须使用vs2012以上进行编译。 这样就依赖vcredist运行时。 因为win7 sp1以下版本,无法安装vc2015的运行时,所以zmq初始化会有问题,比如提示缺少apixxxxxxx-100-110.dll什么的,还有无法找到libzmq.dll什么的。所以在网上flow 了一圈,下了一个支持vs2010编译的 zmq老版本。

使用上有一些差别,不过兼容性更高,也支持与新版本的zmq通讯。有需要的同学自取。

Example server

using System;
using System.Text;
using System.Threading;
using ZMQ;

namespace ZMQGuide
{
    class Program
    {
        static void Main(string[] args)
        {
            // ZMQ Context, server socket
            using (ZmqContext context = ZmqContext.Create())
            using (ZmqSocket server = context.CreateSocket(SocketType.REP))
            {
                server.Bind("tcp://*:5555");
                
                while (true)
                {
                    // Wait for next request from client
                    string message = server.Receive(Encoding.Unicode);
                    Console.WriteLine("Received request: {0}", message);

                    // Do Some 'work'
                    Thread.Sleep(1000);

                    // Send reply back to client
                    server.Send("World", Encoding.Unicode);
                }
            }
        }
    }
}
Example client

using System;
using System.Text;
using ZMQ;

namespace ZMQGuide
{
    class Program
    {
        static void Main(string[] args)
        {
            // ZMQ Context and client socket
            using (ZmqContext context = ZmqContext.Create())
            using (ZmqSocket client = context.CreateSocket(SocketType.REQ))
            {
                client.Connect("tcp://localhost:5555");

                string request = "Hello";
                for (int requestNum = 0; requestNum < 10; requestNum++)
                {
                    Console.WriteLine("Sending request {0}...", requestNum);
                    client.Send(request, Encoding.Unicode);

                    string reply = client.Receive(Encoding.Unicode);
                    Console.WriteLine("Received reply {0}: {1}", requestNum, reply);
                }
            }
        }
    }
}

https://files.cnblogs.com/files/aoldman/vs2010_ZMQ.zip

原文地址:https://www.cnblogs.com/aoldman/p/8929296.html