Electronic Joint Business

Solution for E-Business

socket

通过 C# 使用 ZeroMQ (一) ZeroMQ 通讯模式

文章评价:
ZeroMQ (也拼写作 ØMQ、 0MQ 或 ZMQ) 是个非常轻量级的开源消息队列软件。它没有独立的服务器,消息直接从一个应用程序被发送到另一个应用程序。ZeroMQ 的学习和应用也非常简单,它只有一个 C++ 编写成的单个库文件 libzmq.dll, 可以链接到任何应用程序中。如果要在 .NET 环境中使用,我们需要用到一个 C# 编写的名为 clrzmq.dll 包装库。

ZeroMQ 可以在 Windows、 OS X 和 Linux 等多种操作系统上运行, C、 C++、 C#、 Java、 Python 等语言都可以编写 ZeroMQ 应用程序…这使得不同平台上的不同应用程序之间可以相互通讯。

ZeroMQ 的核心
ZeroMQ 的主要部分是套接字 Socket,不过它并未直接使用传统的套接字,而是在传统的套接字 API上提供了一个抽象层,这让用户从复杂和重复的编程任务中解脱出来。ZeroMQ 支持多种类型的套接字 (类型被定义为套接字自身的一个属性)。发送端和接收端的套接字类型组合造就了多种不同的通信模式,本文的后面我们会涉及到这一部分。

异步通讯
ZeroMQ 提供了异步通讯方式,这意味着即使在设置或关闭套接字连接、重新连接或进行消息传递的时候,应用程序都不会被阻塞。与程序正常任务处理并行的,这些操作由 ZeroMQ 自身在后台线程中进行管理。在需要时,ZeroMQ 会自动将消息 (无论是发件端或接受端) 放入队列中, 这一过程相当智能,消息会被推送到离接收端尽可能近的队列中。

传输协议
ZeroMQ 支持四类传输协议。每种传输协议由地址字符串来定义,该字符串由两部分组成:transport://endpoint。传输(transport) 部分指定了所使用的底层传输协议,端点(endpoint) 部分的格式则随着使用的协议而有所不同,具体如下:

>>> 阅读全文

 

, , , , ,