<請求應答模式>
由請求端發起請求,然后等待回應端應答。一個請求必須對應一個回應,從請求端的角度來看是發-收配對,從回應端的角度是收-發對。跟一對一結對模型的區別在于請求端可以是1~N個。該模型主要用于遠程調用及任務分配等。Echo服務就是這種經典模型的應用。
這種模式類似HTTP的webService
這里提供了一個說”word”的服務,服務端在等待請求,接收到請求后,回復world。
客戶端發送“hello”后等待服務端的回復,如下圖所示。
<發布訂閱模式>
發布端單向分發數據,且不關心是否把全部信息發送給訂閱端。如果發布端開始發布信息時,訂閱端尚未連接上來,則這些信息會被直接丟棄。訂閱端未連接導致信息丟失的問題,可以通過與請求回應模型組合來解決。訂閱端只負責接收,而不能反饋,且在訂閱端消費速度慢于發布端的情況下,會在訂閱端堆積數據。該模型主要用于數據分發。這種模式類似于LabVIEW的產生事件、通知等形式。
范例提供了簡單的發布者例子,如下所示。

訂閱者:

<性能分析>
目前,市面上類似的產品不少,主要有4種:MSMQ(微軟產品)、ActiveMQ(Java)、RabbitMQ(Erlang)、ZeroMQ(C++)。除ZeroMQ外,其它3款產品都是一個單獨服務或者進程,需要單獨安裝和運行,且對環境有一定依賴。其中,MSMQ在非Windows平臺下安裝非常復雜,ActiveMQ需要目標機器上已經安裝了Java,RabbitMQ需要Erlang環境。而ZeroMQ是以庫的形式存在,由應用程序加載、運行即可。但是ZeroMQ僅提供非持久性的消息隊列。
下圖來自于Internet的性能測試數據。顯示的是每秒鐘發送和接受的消息數。整個過程共產生1百萬條1K的消息,測試環境為Windows10。從測試數據可以看出,ZeroMQ的性能遠遠高于其它3個MQ。
但是測試數據僅供參考,因為缺少必須的環境參數和性能指標,比如:CPU參數、內存參數、消息模型、通信協議、極限時消耗CPU百分比、極限時消耗內存百分比等。
原文標題:基于LabVIEW的zeromq通信
文章出處:【微信公眾號:LabVIEW逆向工程高級編程】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
LabVIEW
+關注
關注
2017文章
3688瀏覽量
347137 -
通信
+關注
關注
18文章
6389瀏覽量
140050
原文標題:基于LabVIEW的zeromq通信
文章出處:【微信號:gh_63f7cd07072a,微信公眾號:LabVIEW逆向工程高級編程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
六博光電與聯通研究院達成戰略合作,共筑應急通信 “光網生命線”
從0開始使用LabVIEW操作數據采集卡-概述和新建新建項目
十字形多自由度超聲電機接觸分析模型研究
六相永磁同步電機串聯系統控制的兩種方法分析研究
六相感應電機轉子感應電壓有限元分析與研究
Labview與低功率藍牙(5.0版本)怎么連接和通信
LabVIEW的詳細簡介和應用(文末免費分享LabVIEW相關資料合集)
開關電源的設計與研究
SaltStack自動化運維入門指南
ASM1042A型CANFD芯片通信可靠性研究
基于LabVIEW的zeromq通信研究與應用分析
評論