zeromq這個庫主要用於程序通訊,包括本地程序、網路通訊,涉及到一些基礎知識,主要包括管道通訊,socket程式設計的內容,反應器模式(使用io多路復用實現),無鎖佇列這幾塊比較重要的部分,下面的幾個鏈結是這幾塊內容的學習筆記,有了這些知識,能比較好的理解這個開源庫
1、socket原理詳解
2、i/o多路復用之select
3、i/o多路復用之poll
4、i/o多路復用之epoll
zeromq的版本是4.0.5,使用的工具是source inside3
zeromq原始碼分析筆記之架構(1)
zeromq是一種基於訊息佇列的多執行緒網路庫,其對套接字型別 連線處理 幀 甚至路由的底層細節進行抽象,提供跨越多種傳輸協議的套接字。引用雲風的話來說 請求回應模型。由請求端發起請求,並等待回應端回應請求。從請求端來看,一定是一對對收發配對的 反之,在回應端一定是發收對。請求端和回應端都可以是 1...
zeroMQ原始碼分析之網路機制和效能
tcp協議是流式傳輸協議,會出現粘包和半包的問題。解決方案 1.在傳輸資料的時候加入特殊的字元,如http協議 2.採用tlv格式,type,length,value,如二進位制協議 zeromq的msg t結構 1.短訊息使用記憶體copy比malloc比較高階 2.長訊息使用記憶體malloc比...
zeromq原始碼學習 ctx建立
ctx t封裝了與zeromq庫相關的全部全域性狀態。當使用zeromq時,需要呼叫zmq ctx new函式建立乙個ctx t物件,並返回該物件,沒有對context物件進行初始化。其中乙個重要的變數starting,它為true時,表示context建立,但是未建立任何乙個socket物件。當建...