劢炜 2022-09-14 11:15 采纳率: 66.7%
浏览 18
已结题

Boost库子进程间消息队列通信问题

问题遇到的现象和发生背景

我目前使用boost库实现多进程通信,但是遇到了问题:1号进程使用消息队列发送结构体给2号进程,2号似乎能收到东西,但是怎么也打印不出收到的内容。

问题相关代码
pid_t pid = fork();
if(!pid){//1
    printf("sub pid 1\n");
    message_queue::remove("test");
    message_queue testmq(create_only, "test", 10, 50);
    mystuct hhhh;
    hhhh.s = "test";
    testmq.send(&hhhh, sizeof(hhhh), 0);
   exit(10);
}
pid = fork();
if(!pid){//1
    printf("sub pid 2\n");
    message_queue mq0(open_only,"test");
    mystuct tttt;
    unsigned int priority=0;
    unsigned long recvd_size=0;
    mq0.receive(&tttt, 50, recvd_size, priority);
    printf("receive success,size:%d\n",recvd_size);
    cout<<"sub:"<<tttt.s<<endl;
    exit(10);
}
运行结果及报错内容
sub pid 1
sub pid 2
receive success,size:40
sub:
我的解答思路和尝试过的方法

如果把发送内容放在主进程里2号进程就能收到。不知道有没有什么好的办法可以实现子进程之间的通信。

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 9月22日
      • 已采纳回答 9月14日
      • 修改了问题 9月14日
      • 创建了问题 9月14日

      悬赏问题

      • ¥15 在线教育培训平台,主要以点播视频和在线练习测试为主,除将视频做切片外,有其他哪种方式降低流量?(关键词-带宽速率)
      • ¥20 用c语音或c++实现银行叫号系统
      • ¥15 人工智能 规则正向演绎和推理
      • ¥20 基于STM32F401的电子密码锁设计
      • ¥15 famamacbeth回归中遇到only size-1 arrays can be converted to Python scalars,求解答
      • ¥15 单片机多个自锁按键的编程实践
      • ¥15 用python操作redis存储中文后,再取出的数据变成了乱码怎么办?
      • ¥15 C语言简单排序问题有偿求解
      • ¥20 请问图片的代码什么意思
      • ¥15 coq问题求带,有偿