<請求應答模式>
由請求端發起請求,然后等待回應端應答。一個請求必須對應一個回應,從請求端的角度來看是發-收配對,從回應端的角度是收-發對。跟一對一結對模型的區別在于請求端可以是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
+關注
關注
1977文章
3657瀏覽量
325667 -
通信
+關注
關注
18文章
6072瀏覽量
136433
原文標題:基于LabVIEW的zeromq通信
文章出處:【微信號:gh_63f7cd07072a,微信公眾號:LabVIEW逆向工程高級編程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
![](https://file1.elecfans.com/web3/M00/06/BB/wKgZPGePNIuAeHd6AAHCD8HDm7A237.jpg)
函數信號分析儀的原理和應用場景
labview串口通信丟數問題(非終止符問題)
數字通信分析儀的技術原理和應用
LabVIEW與單片機無法串口通信 提示串口打開錯誤 端口設置有問題嗎?
HPLC通信設備的選擇 HPLC通信協議分析
USB協議分析儀的技術原理和應用場景
labview程序生成exe文件怎么還原
什么是labview?labview編寫的程序由哪幾部分組成?
labview字符串的四種表示各有什么特點
跨網段 IP 地址通信故障分析
![跨網段 IP 地址<b class='flag-5'>通信</b>故障<b class='flag-5'>分析</b>](https://file1.elecfans.com/web2/M00/FF/FC/wKgaomanCrKAS0oDAAVkungNO-Q531.png)
淺談智能卡遠程費控電能表的設計與應用研究分析
![淺談智能卡遠程費控電能表的設計與應用<b class='flag-5'>研究</b><b class='flag-5'>分析</b>](https://file1.elecfans.com//web2/M00/C0/4E/wKgZomXUVwSAQYbJAACfGwew9ms802.png)
評論