gpt4 book ai didi

c - 修改C消息队列程序以在Linux中使用

转载 作者:行者123 更新时间:2023-11-30 17:19:14 24 4
gpt4 key购买 nike

我一直在阅读本指南,其中概述了如何在 Linux 中处理消息队列,到目前为止我还没有遇到任何问题。

http://beej.us/guide/bgipc/output/html/multipage/mq.html

但是,我想知道如何修改示例程序,以便根据发送的消息将消息传递给不同的收件人。例如:如果消息以文本“紧急”开头,则发送给收件人 A,否则发送给收件人 B。

我知道我需要第二个接收者类,但不确定如何实现此功能。

最佳答案

I know I will need a second recipient class, but am not sure how to implement this feature.

通过第二个接收者类,您必须指的是第二个消息队列。由于示例程序中的消息队列标识符key是通过key = ftok("kirk.c", 'B')创建的,因此第二个键的明显选择是 keyurg = ftok("kirk.c", 'A'),您可以使用 msgget() 第二个队列(例如 msqidurg)在发送者和接收者中。发送消息时:

        if (msgsnd(strncmp(buf.mtext, "URGENT", 6) ? msqid : msqidurg, &buf, len+1, 0) < 0)
perror("msgsnd");

关于c - 修改C消息队列程序以在Linux中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28929707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com