sendmsg

来源:互联网 发布:ubuntu好的软件源 编辑:程序博客网 时间:2024/06/05 20:12
#include <sys/types.h>#include "stdio.h"#include "string.h"#include <sys/msg.h>#include <unistd.h>void main(int argc,char **argv){int gflags,sflags,rflags;int i = 0;int j = 0;int iMsgLength = 100;key_t key;int msgid;int reval;struct msgsbuf{int mtype;char mtext[iMsgLength];}msg_sbuf;char* msgpath="/home/wulei/wulei/ipc.c";    memset(&msg_sbuf,0,sizeof(msg_sbuf)); /* 参数判断   */    for (j=0;j < argc;j++){if (1 == j){while(('\0' != (*argv[j]))&&(i < iMsgLength)){msg_sbuf.mtext[i++]=*argv[j]++;}}}printf("\nsend type =%d,msg =%s\n",msg_sbuf.mtype,msg_sbuf.mtext);key=ftok(msgpath,'a');printf("key is %x",key);gflags=IPC_CREAT;msgid=msgget(key,gflags|00666);if(msgid==-1){printf("msg create error\n");return;}sflags=IPC_NOWAIT;msg_sbuf.mtype=10;reval=msgsnd(msgid,&msg_sbuf,sizeof(msg_sbuf.mtext),sflags);if(reval==-1){printf("message send error\n");}//发送一个消息后,输出消息队列属性printf("\nsend type =%d,msg =%s\n",msg_sbuf.mtype,msg_sbuf.mtext);return;//从消息队列中读出消息后,输出消息队列属性}


原创粉丝点击