亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Linux消息隊列編程示例

Linux消息隊列編程示例

熱門標(biāo)簽:地圖上標(biāo)注點位的圖標(biāo) 常熟外呼系統(tǒng) 中山防封卡電銷卡辦理 百度地圖標(biāo)注未成功 江蘇小型外呼系統(tǒng)軟件 電話機(jī)器人服務(wù)器部署 文山外呼營銷系統(tǒng) 拉薩銷售外呼系統(tǒng)軟件 電銷語音機(jī)器人哪個好

一、概念

消息隊列就是一個消息的鏈表。可以把消息看作一個記錄,具有特定的格式以及特定的優(yōu)先級。對消息隊列有寫權(quán)限的進(jìn)程可以向中按照一定的規(guī)則添加新消息;有讀權(quán)限的進(jìn)程則可以讀走消息。讀走就沒有了。消息隊列是隨內(nèi)核持續(xù)的。 只有內(nèi)核重啟或人工刪除時,該消息才會被刪除。在系統(tǒng)范圍內(nèi),消息隊列與鍵值唯一對應(yīng)。

二、步驟及思路

1、取得鍵值
2、打開、創(chuàng)建消息隊列
3、發(fā)送消息
4、接收消息

下面具體看看:

1、取得鍵值

復(fù)制代碼
代碼如下:

key_t ftok(char *pathname, char proj)

   頭文件為sys/ipc.h>。返回文件名對應(yīng)的鍵值,失敗返回 -1。proj是項目名,隨便寫,不為0就行。
   fname就是你指定的文件名(已經(jīng)存在的文件名)。需要有-t 的權(quán)限,或用root權(quán)限執(zhí)行,通常設(shè)為/tmp或設(shè)為" . "。這里我感覺不用這個函數(shù)也行,因為key值可以自己指定,例如: #define KEY_MSG 0x101
2、打開、創(chuàng)建消息隊列

復(fù)制代碼
代碼如下:

int msgget(key_t key, int msgflg)

  頭文件為sys/msg.h>。key由ftok獲得。

  msgflg有:

IPC_CREAT 創(chuàng)建新的消息隊列,應(yīng)配有文件權(quán)限0666。
IPC_EXCL  與IPC_CREAT一同使用,表示如果要創(chuàng)建的消息隊列已經(jīng)存在,則返回錯誤。

IPC_NOWAIT 讀寫消息不阻塞。
 
  當(dāng)沒有與key相對應(yīng)的消息隊列并且msgflg中包含了IPC_CREAT標(biāo)志 或 key的參數(shù)為IPC_PRIVATE 時,創(chuàng)建一個新的消息隊列。
3、發(fā)送消息

復(fù)制代碼
代碼如下:

int msgsnd(int msqid, struct msgbuf *msgp, int msgsz, int msgflg)

    向消息隊列發(fā)送一條消息。msqid為消息隊列的id,msgp為存放消息的結(jié)構(gòu)體。msgsz是消息的長度,和數(shù)組的大小不一樣哦。msgflg為消息標(biāo)志,通常為0,也可以為IPC_NOWAIT。出錯返回 -1。
 
消息格式

復(fù)制代碼
代碼如下:

struct msgbuf {
long mtype;
char mtext[100];
};

4、接收消息

復(fù)制代碼
代碼如下:

int msgrcv(int msqid, struct msgbuf *msgp, int msgsz, long msgtyp, int msgflg)

    從msqid代表的消息隊列中讀取一個msgtyp類型的消息,并把消息存儲在msgp指定的msgbuf結(jié)構(gòu)中。讀取后隊列中的消息將會刪除。size為結(jié)構(gòu)體中數(shù)據(jù)的大小,不要計算msgtyp。出錯返回 -1。
三、舉例
創(chuàng)建一消息隊列,子進(jìn)程發(fā)數(shù)據(jù),父進(jìn)程收數(shù)據(jù)。實現(xiàn)向隊列中存放數(shù)據(jù)與讀取數(shù)據(jù)。


復(fù)制代碼
代碼如下:

#includestdio.h>
#includesys/msg.h>
#includefcntl.h>
#includestdlib.h>
#includestring.h>
#define max 100/p> p>struct haha{
long mtype;
char data[max];
};/p> p>int main(int argc,char *argv[]){
int pid;
if(argc!=2){
printf("Usage: msg [Message]\n");
return -1;
}
key_t key;
if((key=ftok("/tmp",'g'))0){ //這里文件夾必須存在,有t屬性并且上級目錄也要有t屬性
printf("Getting key error! \n");
return -1;
}
int mgsid;
if((mgsid=msgget(key,IPC_CREAT|0666))==-1){ //key值隨便寫一個數(shù)也能用
printf("mgs queue create error\n");
return -1;
}
pid=fork();
if(pid 0){
printf("fork create error!\n");
_exit(1);
}
if(pid == 0){
printf("welcome in child process\n Sending the message......\n");
sleep(1);
struct haha hehe;
hehe.mtype=getppid();
strcpy(hehe.data,argv[1]);
if(msgsnd(mgsid,hehe,sizeof(hehe.data),0)0){ //此處注意長度
printf("Sending error!!!\n");
_exit(1);
}else {
printf("Sending complete!\n");
_exit(0);
}
}else{
wait(NULL);
printf("welcome in parents process\n Receiving the message......\n");
sleep(1);
struct haha gaga;
if(msgrcv(mgsid,gaga,max,getpid(),0)0){
printf("Receiving error!!!\n");
_exit(1);
}else {
printf("Receiving complete!\n");
printf("The message is %s \n",gaga.data);
}
}
return 0;
}

標(biāo)簽:和田 石家莊 法律問答 淮安 湖南 馬鞍山 和田 開封

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux消息隊列編程示例》,本文關(guān)鍵詞  Linux,消息,隊列,編程,示例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux消息隊列編程示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux消息隊列編程示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美爱色| 美女免费精品高清毛片在线视| 成人高清护士在线播放| 九九久久99综合一区二区| 久久精品免视看国产成人2021| 国产亚洲精品aaa大片| 国产激情一区二区三区| 国产亚洲精品成人a在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品国产一区二区三区免费| 午夜精品国产自在现线拍| 黄色免费网站在线| 99色视频在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人高清视频在线观看| 高清一级片| 91麻豆精品国产片在线观看| 久久99这里只有精品国产| 日韩免费在线观看视频| 一级女性全黄生活片免费| 欧美电影免费| 日本免费看视频| 九九久久99| 可以免费在线看黄的网站| 国产国语在线播放视频| 四虎论坛| 一本伊大人香蕉高清在线观看| 国产亚洲精品aaa大片| 精品在线免费播放| 成人免费网站视频ww| 91麻豆精品国产自产在线| 国产麻豆精品免费密入口| 国产网站免费在线观看| 亚洲 男人 天堂| 成人高清视频在线观看| 中文字幕一区二区三区精彩视频 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美日本韩国| 国产一区二区精品久久91| 日韩欧美一二三区| 国产成人精品综合久久久| 国产精品自拍在线观看| 香蕉视频一级| 欧美一级视频免费观看| 国产美女在线一区二区三区| 亚洲精品中文一区不卡| 成人免费一级纶理片| 国产一区精品| 九九九在线视频| 欧美日本二区| 国产91素人搭讪系列天堂| 毛片成人永久免费视频| 精品久久久久久免费影院| 欧美爱色| 免费国产一级特黄aa大片在线| 欧美电影免费| 久草免费在线色站| 天天做日日爱夜夜爽| 国产视频一区二区在线观看| 成人免费一级纶理片| 国产视频一区二区在线播放| 黄视频网站免费观看| 尤物视频网站在线观看| 国产伦久视频免费观看 视频 | 色综合久久天天综合观看| 成人a大片高清在线观看| 国产视频网站在线观看| 日本在线不卡视频| 青青青草影院 | 欧美日本免费| 欧美1区| 日韩字幕在线| 九九久久国产精品大片| 亚洲www美色| 国产不卡在线看| 欧美一级视| a级毛片免费观看网站| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品视频免费看| 欧美激情影院| 成人影院一区二区三区| 日韩专区亚洲综合久久| 国产精品自拍在线观看| 欧美a免费| 成人高清护士在线播放| 久久久久久久免费视频| 国产91素人搭讪系列天堂| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 亚洲精品永久一区| 免费一级片在线观看| 欧美国产日韩在线| 久久精品免视看国产明星| 色综合久久手机在线| 国产视频在线免费观看| 欧美一级视频免费观看| 欧美激情影院| 久草免费在线色站| 毛片电影网| 久久99这里只有精品国产| 99色视频在线观看| 欧美激情中文字幕一区二区| 国产精品自拍在线| 日本特黄一级| 国产麻豆精品免费密入口| 你懂的日韩| 天天做人人爱夜夜爽2020| 精品视频在线观看免费| 韩国三级香港三级日本三级la| 色综合久久久久综合体桃花网| 九九精品久久| 中文字幕一区二区三区精彩视频 | 黄色短视频网站| 国产国产人免费视频成69堂| 日韩中文字幕一区二区不卡| 四虎久久精品国产| 国产极品精频在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 麻豆午夜视频| 色综合久久天天综线观看| 国产美女在线观看| 日韩男人天堂| 国产亚洲免费观看| 四虎影视库| 国产成a人片在线观看视频| 成人免费网站视频ww| 尤物视频网站在线观看| 国产成人精品影视| 久久久成人网| 免费国产在线视频| 尤物视频网站在线观看| 你懂的在线观看视频| 亚洲www美色| 日本特黄特色aa大片免费| 日韩中文字幕一区二区不卡| 国产不卡福利| 国产不卡在线看| 成人免费网站久久久| 韩国妈妈的朋友在线播放| 韩国三级视频在线观看| 欧美激情一区二区三区中文字幕| 久久精品欧美一区二区| 四虎影视库| 国产精品自拍在线| 欧美另类videosbestsex视频| 精品在线视频播放| 久草免费在线观看| 麻豆系列 在线视频| 国产a网| 青青青草影院| 久久精品大片| a级精品九九九大片免费看| 日韩在线观看视频免费| 日本伦理片网站| 日本在线不卡视频| 色综合久久天天综合| 四虎影视久久| 国产一区二区精品在线观看| 91麻豆爱豆果冻天美星空| 欧美激情在线精品video| 国产91视频网| 免费一级片在线观看| 日韩专区在线播放| 午夜在线影院| 精品久久久久久免费影院| 国产亚洲免费观看| 日韩一级精品视频在线观看| 日本在线不卡视频| 精品视频一区二区三区免费| 亚洲第一色在线| 精品视频在线看| 黄色福利片| 免费毛片基地| 九九精品久久久久久久久| 91麻豆tv| 青青青草影院| 久久国产影视免费精品| 精品国产一区二区三区久 | 欧美一级视| 一a一级片| 日本在线www| 欧美激情一区二区三区视频 | 日本在线不卡视频| 久久久成人影院| 日韩男人天堂| 国产高清在线精品一区二区| 久久国产一久久高清| 欧美激情一区二区三区视频| 夜夜操天天爽| 一本伊大人香蕉高清在线观看| 可以在线看黄的网站| 精品久久久久久免费影院| 精品国产一区二区三区精东影业| 国产成人精品综合久久久| 一本伊大人香蕉高清在线观看| 91麻豆精品国产自产在线| 亚洲精品影院久久久久久| 国产伦久视频免费观看视频| 韩国三级视频网站| 欧美a免费| 精品视频在线看|