#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <errno.h>
//定義的消息隊(duì)列的結(jié)構(gòu)體
struct my_msg
{
long int my_msg_type;
char text[BUFSIZ];
} msgbuf;
int main(int argc,char *argv[])
{
int runningFlg =1;
int msgid;
long int msg_to_receive=0;
msgid = msgget((key_t)1234,0666 |IPC_CREAT); //建立消息隊(duì)列
if(msgid == -1) //如果建立消息隊(duì)列失敗
{
printf("msgget failed!\n");
exit(1);
}
while(runningFlg == 1) //進(jìn)入循環(huán)
{
if(msgrcv(msgid,(void *)&msgbuf, BUFSIZ,msg_to_receive, 0)==-1)
{
perror("msgrcv failed!\n"); //如果接收數(shù)據(jù)失敗
exit(1);
}
printf("接收到的字符串是 : %s", msgbuf.text);
if(strncmp(msgbuf.text,"end",3)==0)
runningFlg = 0; //如果接收完成
}
if(msgctl(msgid, IPC_RMID, 0)==-1) //刪除消息隊(duì)列
{
perror("msgctl(IPC_RMID) failed!\n"); //如果刪除消息隊(duì)列失敗
exit(1);
}
return 0;
}
網(wǎng)站題目:[Linux管道和IPC]消息隊(duì)列接收服務(wù)器端
當(dāng)前URL:http://www.chinadenli.net/article32/gpcipc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、Google、全網(wǎng)營銷推廣、企業(yè)建站、品牌網(wǎng)站建設(shè)、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)