zmq資料發布

2021-07-05 12:46:13 字數 351 閱讀 5380

現有乙個利用zmq的資料發布api,傳入發布資料時,加鎖將資料放置到鍊錶中,然後設定訊號量。

另有乙個執行緒一直迴圈,獲取訊號量,加鎖鏈表,然後將資料傳送出去。該種設計是否與zmq本身的設計理念不符合?

替換方案1:傳入發布資料,然後檢視鍊錶是否為空;如果鍊錶不為空,則嘗試將鍊錶中資料傳送,成功則持續傳送直到鍊錶為空,然後將傳入的資料傳送。如果鍊錶為空時則將資料放入鍊錶末端。

if (list.empty())

send if failed then cache

else

else break;

} list.push_back(the new msg);

}

ZMQ通訊模式

本文簡要介紹zmq常用的通訊模式 zmq req模式在傳送訊息時,zmq底層會在訊息內容頭部插入乙個空幀,在接收訊息時,會去掉空幀,將內容返回給應用層。zmq rep模式在接收訊息時,會將訊息空幀之前的信封幀儲存起來,將空幀之後的內容傳給上層應用。上層應用在響應訊息時,底層會在響應訊息前加上空幀以及...

ZMQ筆記 入門

入門例子 只要包含 apt get install libzmq3 dev hello world server in c binds rep socket to tcp 5555 expects hello from client,replies with world include includ...

zmq是基於tcp實現的嗎 zmq模組的理解和使用

最近專案中接觸到zeromq,內部實現挺複雜的,沒時間深入了解,簡單記錄下使用方法吧,有時間會來填坑。官方指導文件 專案主要用zeromq在多個ip主機上的服務間進行專案通訊,直接用scoket也可以實現,但比較費時費力,zeromq建立在socket的基礎上,提供了一套更加簡單強大的api,可以快...