程序間的通訊 訊息佇列

2021-08-10 21:50:20 字數 1074 閱讀 9523

訊息佇列:佇列是先進先出,把寫入的訊息按佇列的方式排列,然後讀取訊息時按佇列性質讀取,或按指定的型別號讀取;

實現訊息佇列的步驟:

1.獲取key值,

2.建立訊息佇列,取得訊息佇列的id;

3.向訊息佇列裡寫入訊息;

4.讀取訊息佇列的訊息;

5.刪除訊息佇列;

讀端**:

#include

#include

#include

#include

#include

#include

#include

struct msgbuf

;int main(int argc, const char *argv)

//建立訊息佇列

if((qid = msgget(key,ipc_creat | 0666)) < 0)

//接受訊息

while(1)

if(strcmp(msg.buff,"quit") == 0)

printf("讀取的訊息是:%s\n",msg.buff);

}printf("訊息已經讀取完畢!\n");

//刪除訊息佇列

if(msgctl(qid,ipc_rmid,null) < 0)

return 0;}

寫端:#include

#include

#include

#include

#include

#include

#include

struct msgbuf

;int main(int argc, const char *argv)

//建立訊息佇列

if((qid = msgget(key,ipc_creat | 0666)) < 0)

//傳送訊息

while(1)

//刪除訊息佇列

if(msgctl(qid,ipc_rmid,null) < 0)

printf("傳送端結束\n");

return 0;

}

程序間訊息佇列通訊

要保證server能夠接收client的訊息,就必須保證server的生成的msg的識別符號是一樣的,也就是兩個用的key是必須一樣的。msglucy.c include include include include include include include include include ...

程序間通訊(訊息佇列)

在嵌入式linux應用開發中,linux程序通訊的方式有6種,分別是管道 pipe 及有名管道 named pipe 訊號 signal 訊息佇列 msg 共享記憶體 shm 訊號量 和套接字 socket 在這我就簡單的描述一下程序通訊中的資訊佇列 msg 首先,訊息佇列的實現有重要的幾步 1 建...

程序間通訊 訊息佇列

有三種稱作xsi ipc的ipc 訊息佇列 訊號量以及 共享記憶體。它們只見有很多的相似之處。訊息佇列是訊息的鏈結表,儲存在核心中,由訊息佇列識別符號表示。它不同於管道,其生命週期是隨核心的。訊息佇列提供了 一種從 乙個程序向另 乙個程序傳送 乙個資料塊的 方法。每個資料塊都被認為是有 乙個型別,接...