我是ZeroMQ新手(在C++上)。?br: 寫程序時用PUB/SUB
正式通信模式原型,我困住了一個問題。ZeroMQ可以計算未完成消息的數量嗎?
計劃:
這是我的項目,在這裏我想給儘可能多的信息發送到PUB
。
爲此,我曾使用一個ROUTER
套接字類型。
問題:
接收機是緩慢的,由於該消息被排隊得到(直至到達高水印)和在這之後,開始丟棄上SUB
側。
尋找:
我想從ZeroMQ(對C++)的方法,該告訴我了「傑出隊列中的消息計數」。
搜索了很多,但沒有找到任何答案。
我正在尋找任何形式的指針或幫助。
ZMQ是一個Actor模型系統。這意味着發件人無法知道郵件何時發送。如果你想這樣做,你必須有一個單獨的套接字用於消息從訂戶返回給發佈者,消息的含義是「請發送另一條消息」。 – bazza
@bazza 13,感謝您的回覆。在做谷歌時,我發現如果send()用DONTWAIT標誌調用,那麼它將在Queue Full(消息傳遞失敗)情況下返回-1。嘗試相同,但它不起作用。它總是返回數據的大小。你有什麼想法嗎?即使隊列已滿,但仍然發送()返回適當的值。 –