linux消息队列实现信息互递

简介: linux消息队列实现信息互递


消息队列

struct msgbuf{
        long mtype;
        char mtext[128];
};
int main()
{
        struct msgbuf readbuf;
        int msgid = msgget(0x1235,IPC_CREAT|0777);//创建消息队列
        if(msgid == -1){
                printf("get que failuer\n");//如果返回值为-1,说明创建失败
        }
        msgrcv(msgid,&readbuf,sizeof(readbuf.mtext),888,0);//读取消息
        printf("read from que:%s\n",readbuf.mtext);//打印输出
        struct msgbuf sendbuf = {988,"thank you for reach"};//创建消息结构体
        msgsnd(msgid,&sendbuf,strlen(sendbuf.mtext),0);//添加消息,发送上面的sendbuf的内容
        return 0;
}

消息队列收

#include<stdio.h>
#include<sys/types.h>
#include<sys/ipc.h>
#include<string.h>
#include<sys/msg.h>
struct msgbuf{
        long mtype;
        char mtext[128];
};
int main()
{
        struct msgbuf sendbuf = {888,"this is message from quen"};
        struct msgbuf readbuf;
        int msgid = msgget(0x1235,IPC_CREAT|0777);//创建消息队列
        if (msgid == -1){
                printf("get que failuer\n");
        }
        msgsnd(msgid,&sendbuf,strlen(sendbuf.mtext),0);//添加消息
        printf("send over\n");
        msgrcv(msgid,&readbuf,sizeof(readbuf.mtext),988,0);//读取消息
        printf("reaturn from get %s\n",readbuf.mtext);//打印输出读取的消息
        return 0;
}
~            

运行显示

20200803110157677.png

相关文章
|
10月前
|
消息中间件 Linux
Linux中的System V通信标准--共享内存、消息队列以及信号量
希望本文能帮助您更好地理解和应用System V IPC机制,构建高效的Linux应用程序。
421 48
|
9月前
|
存储 缓存 Linux
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
1104 8
|
存储 监控 安全
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
在Linux中,⼀个EXT3的文件分区,当使用touch test.file命令创建⼀个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况?
|
11月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
2172 23
|
11月前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
843 20
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
缓存 监控 Linux
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
1216 1
|
消息中间件 Linux 开发者
Linux进程间通信秘籍:管道、消息队列、信号量,一文让你彻底解锁!
【8月更文挑战第25天】本文概述了Linux系统中常用的五种进程间通信(IPC)模式:管道、消息队列、信号量、共享内存与套接字。通过示例代码展示了每种模式的应用场景。了解这些IPC机制及其特点有助于开发者根据具体需求选择合适的通信方式,促进多进程间的高效协作。
601 3
|
安全 Linux 编译器
在Linux中,如何查看内核版本?内核版本信息包含什么?
在Linux中,如何查看内核版本?内核版本信息包含什么?