当前位置: 技术问答>linux和unix
消息队列中消息大小
来源: 互联网 发布时间:2016-09-02
本文导语: 2个进程一个主进程,一个子进程; 主进程发送消息,子进程读取消息; 问题是: 主进程发送消息大小不定情况下,子进程如何获得消息大小? | msgrcv的返回值就是此次操作中所获得数据的...
2个进程一个主进程,一个子进程;
主进程发送消息,子进程读取消息;
问题是:
主进程发送消息大小不定情况下,子进程如何获得消息大小?
主进程发送消息,子进程读取消息;
问题是:
主进程发送消息大小不定情况下,子进程如何获得消息大小?
|
msgrcv的返回值就是此次操作中所获得数据的长度。如果你的数据传输后拿不到长度,就需要自己在传输的结构中加长度信息。
|
楼主的意思是,想在接收以前就知道消息的大小是多少,便于开辟缓冲区来接受。
比如发送端送了4096字节,而只按1024接收的话,后续数据是会被截断,且被破坏无法获取的。
所以如果能够知道发送的时候,最大的长度是多少就好做了,接收端确实无法知道缓冲需要开辟,这个问题我也很困绕,项目开发中是采取其他方式实现的。
帮顶,关注