消息队列程序源码
时间:2025-07-11
时间:2025-07-11
消息队列程序源码
程序A
#include <stdio.h>
#include <string.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#define MSG_SIZE 32
#define MSG_TYPE 1
struct mymsgbuf
{
long mtype; //REQUIRED
char infos[MSG_SIZE];
};
int main()
{
key_t key = ftok("/home/cookie/msgqueue/Makefile", 1); int msgqueue = msgget(key, 0666);
if(msgqueue == -1)
{
printf("Message Queue Open Failed");
return -1;
}
struct mymsgbuf msg_put;
msg_put.mtype = MSG_TYPE;
memset(msg_s, 0, MSG_SIZE);
fgets(msg_s, MSG_SIZE, stdin);
if(msgsnd(msgqueue, &msg_put, MSG_SIZE, 0) == -1)
{
printf("Send Message Failed");
msgctl(msgqueue, IPC_RMID, NULL);
return -1;
}
struct mymsgbuf msg_get;
if(msgrcv(msgqueue, &msg_get, MSG_SIZE, MSG_TYPE, 0) == -1) {
printf("Receive Message Failed");
msgctl(msgqueue, IPC_RMID, NULL);
return -1;
}
printf("%s\n", msg_s);
msgctl(msgqueue, IPC_RMID, NULL);
下一篇:卫生统计信息网络直报系统