訊息佇列:佇列是先進先出,把寫入的訊息按佇列的方式排列,然後讀取訊息時按佇列性質讀取,或按指定的型別號讀取;
實現訊息佇列的步驟:
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 訊息佇列 訊號量以及 共享記憶體。它們只見有很多的相似之處。訊息佇列是訊息的鏈結表,儲存在核心中,由訊息佇列識別符號表示。它不同於管道,其生命週期是隨核心的。訊息佇列提供了 一種從 乙個程序向另 乙個程序傳送 乙個資料塊的 方法。每個資料塊都被認為是有 乙個型別,接...