Linux--共享队列2 迷南。 2022-07-14 07:50 33阅读 0赞 //发送端 #include "apue.h" struct msgbuf { long type; char voltage[128]; char ID[4]; }; main(){ int id,key; struct msgbuf sendbuf; //创建key key = ftok("./apue.h",'a'); if(key<0){ perror("fail to create key"); return -1; } printf("success to create key = %d\n",key); //根据key创建共享队列 id=msgget(key,IPC_CREAT|0777); if(id<0){ perror("fail to create share msg"); return -1; } printf("success to create share msg id=%d\n",id); system("ipcs -q"); //发送消息 sendbuf.type = 100; strcpy(sendbuf.voltage,"hello liupan"); //发送消息 第四个参数表示以阻塞的方式写 int res_msg_snd = msgsnd(id,(void *)&sendbuf,strlen(sendbuf.voltage),0); if(res_msg_snd<0){ perror("fail to send msg"); } printf(" success to send msg \n"); sleep(600); //删除共享队列 printf(" start to delete share msg===\n"); int re_msg=msgctl(id,IPC_RMID,NULL);//删除创建的共享队列 if(re_msg<0) { perror(""); return -1; } printf("success to delete msg \n"); system("ipcs -q"); return 0; } //读取端 #include "apue.h" struct msgbuf { long type; char voltage[128]; char ID[4]; }; main(){ int id,key; struct msgbuf readbuf; //创建key key = ftok("./apue.h",'a'); if(key<0){ perror("fail to create key"); return -1; } printf("success to create key = %d\n",key); //根据key创建共享队列 id=msgget(key,IPC_CREAT|0777); if(id<0){ perror("fail to create share msg"); return -1; } printf("success to create share msg id=%d\n",id); system("ipcs -q"); //读取消息 memset(readbuf.voltage,0,sizeof(readbuf.voltage)); //100表示数据类型 128表示要读取的数据的大小 第四个表示以阻塞的方式读取 //返回值 实际读取到的字节数 int re_msg_size = msgrcv(id,(void *)&readbuf,128,100,0); if(re_msg_size<0) { perror("fail to read data"); } printf(" size of read datais %d at first readbuf = %s \n",re_msg_size,readbuf.voltage); //删除共享队列 printf(" start to delete share msg===\n"); int re_msg=msgctl(id,IPC_RMID,NULL);//删除创建的共享队列 if(re_msg<0) { perror(""); return -1; } printf("success to delete msg \n"); system("ipcs -q"); return 0; }
相关 队列的实现 文章目录 队列的定义 队列的抽象数据类型定义 队列的顺序实现 顺序队列的基本操作 入队 出队 普通顺序队列的缺陷 偏执的太偏执、/ 2023年06月23日 15:28/ 0 赞/ 26 阅读
相关 队列 的理解 队列 的理解 队列最鲜明的特点是先进先出(First\-In First-Out,FIFO)是一种特殊的线性表,和栈一样,队列是一种操作受限制的线性表。进行插入操作的 た 入场券/ 2022年08月04日 13:45/ 0 赞/ 166 阅读
相关 学习队列的作用 队列的应用--舞伴问题 队列的应用--舞伴问题 1、问题叙述 假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴 向右看齐/ 2022年07月14日 13:20/ 0 赞/ 214 阅读
相关 Linux--共享队列2 //发送端 include "apue.h" struct msgbuf { long type; char voltag 迷南。/ 2022年07月14日 07:50/ 0 赞/ 34 阅读
相关 Linux--共享队列1 include "apue.h" struct msgbuf { long type; char voltage[128] r囧r小猫/ 2022年07月14日 07:50/ 0 赞/ 40 阅读
相关 队列的实现 include <iostream.h> include <malloc.h> const int QueueSize=20; typedef 冷不防/ 2022年06月13日 02:56/ 0 赞/ 220 阅读
相关 队列的练习 include<stdio.h> include<malloc.h> define OK 1 define ERROR 0 t 不念不忘少年蓝@/ 2022年06月12日 00:52/ 0 赞/ 143 阅读
相关 队列的实现 就是考察如何实现一个队列 这道题考察的是细节 代码如下: ifndef QUEUE_H define QUEUE_H include<casser 秒速五厘米/ 2022年05月26日 11:51/ 0 赞/ 196 阅读
相关 SpringBoot 集成RbbitMQ队列2代码实现 源码[SpringBoot集成RbbitMQ][SpringBoot_RbbitMQ] 1、pom.xml依赖配置 <dependency> <gr 待我称王封你为后i/ 2021年12月15日 22:45/ 0 赞/ 249 阅读
相关 队列的应用 / chen.cpp : 定义控制台应用程序的入口点。 / include "stdafx.h" include <iostream> Bertha 。/ 2021年09月15日 06:56/ 0 赞/ 367 阅读
还没有评论,来说两句吧...