ZeroMQ学习 (一)认识与安装

关于ZMQ

1 简单介绍

​ ZMQ(ØMQ、ZeroMQ, 0MQ)看起来像是一套嵌入式的网络链接库,但工作起来更像是一个并发式的框架。它提供的套接字可以在多种协议中传输消息,如线程间、进程间、TCP、广播等。你可以使用套接字构建多对多的连接模式,如扇出、发布-订阅、任务分发、请求-应答等。ZMQ的快速足以胜任集群应用产品。它的异步I/O机制让你能够构建多核应用程序,完成异步消息处理任务。ZMQ有着多语言支持,并能在几乎所有的操作系统上运行。ZMQ是iMatix公司的产品,以LGPL开源协议发布。

​ 一开始ZMQ代表零中间件、零延迟,同时,它又有了新的含义:零管理、零成本、零浪费。总的来说,零表示最小、最简,这是贯穿于该项目的哲理。我们致力于减少复杂程度,提高易用性。

  • 环境搭建

    ​ 项目将在Ubuntu QtCreator下开发,需要在Ubuntu下安装libzmq,到github上下载https://github.com/zeromq/libzmq,例如:libzmq-master.zip

    where@ubuntu:~$ unzip libzmq-master.zip
    where@ubuntu:~$ cd libzmq-master
    where@ubuntu:~$ ./autogen.sh
    where@ubuntu:~$ ./configure
    where@ubuntu:~$ make
    where@ubuntu:~$ sudo make install
    where@ubuntu:~$ sudo ldconfig

2 经典API

​ 套接字事实上是用于网络编程的标准接口,ZMQ之所那么吸引人眼球,原因之一就是它是建立在标准套接字API之上。因此,ZMQ的套接字操作非常容易理解,其生命周期主要包含四个部分:

  • 创建和销毁套接字:zmq_socket(), zmq_close()

  • 配置和读取套接字选项:zmq_setsockopt(), zmq_getsockopt()

  • 为套接字建立连接:zmq_bind(), zmq_connect()

  • 发送和接收消息:zmq_send(), zmq_recv()

你可能感兴趣的:(Zeromq)