2009-11-11 96 views
1

我想知道什么是系统V消息队列即最大队列大小,每件最大尺寸的限制等系统-V的消息队列PHP C++

由于我工作的C++的集成与我的PHP脚本和具有将被推入队列从PHP和C++程序将读取的另一端的数据量非常大的数据。 我已经发明了一种策略,其中我有2种类型,将由PHP被写入消息。

1) Message length 
2) Message data 

但是,我面临的是我的C++应用程序中负责读取长度/数据序列的不可预知的行为。

首先,我无法写出每msg_send超过6000个字节的PHP,这就是为什么我必须打破我的消息成块,通过完整的邮件大小领导。 (1)+块(2)+块(2)+块(2)+大小(1)+大小(1)+块(块)(大小括号中的msgtype)

2)+ Chunk(2)

虽然,我能够正确读取几个块,但在某处我开始收到错误并在队列中留下一些消息,并使队列无用。

回答

1

的限制取决于使用的平台,操作系统版本和内核参数上。你应该查阅你系统的文档。例如,你可以从Linux上的msgctl()获得一些信息。