簡體   English   中英

System-V消息隊列PHP C ++

[英]System-V message-queue PHP C++

我想知道System-V消息隊列的限制是什么,即最大隊列大小,每個項目的最大大小等。

由於我正在將C ++與PHP腳本集成,因此有大量數據將從php推送到隊列中,而C ++進程將在另一端讀取該數據。 我設計了一種策略,其中有2種類型的消息將由php編寫。

1) Message length
2) Message data

但是,我在C ++應用程序中面臨着不可預測的行為,該行為負責讀取長度/數據序列。

首先,我無法從php向每個msg_send寫入超過6000字節的字節,這就是為什么我必須將消息分解為整個消息大小導致的數據塊。 所以我的隊列看起來像這樣(括號中為msgtype)

大小(1)+塊(2)+塊(2)+塊(2)+大小(1)+大小(1)+塊(2)+塊(2)

雖然,我能夠正確讀取一些塊,但是在某個地方的中間,我開始收到錯誤,並在隊列中保留了一些消息,使隊列變得毫無用處。

這些限制取決於您的平台,操作系統版本和內核參數。 您應該查閱系統文檔。 例如,您可以從Linux上的msgctl()獲取一些信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM