首页 > 代码库 > msgrcv,msgsnd进程通信,消息的发送和接收
msgrcv,msgsnd进程通信,消息的发送和接收
//进程通信,消息的发送和接收//client.c#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <errno.h>#include <malloc.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/ioctl.h>#include <stdarg.h>#include <fcntl.h>#include <fcntl.h>#define MSGKEY 75struct msgform{ long mtype; char mtext[1000];}msg;int msgqid;void client(){ int i; msgqid=msgget(MSGKEY,0777); for(i=10;i>=1;i--) { msg.mtype=i; printf("(client)sent\n"); msgsnd(msgqid,&msg,1024,0); } exit(0);}main(){ client();}//进程通信,消息的发送和接收//server.c#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <netdb.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <errno.h>#include <malloc.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/ioctl.h>#include <stdarg.h>#include <fcntl.h>#include <fcntl.h>#include <sys/msg.h>#include <sys/ipc.h>#define MSGKEY 75struct msgform{ long mtype; char mtext[1000];}msg;int msgqid;void server(){ msgqid=msgget(MSGKEY,0777|IPC_CREAT); do { msgrcv(msgqid,&msg,1030,0,0); printf("(server)receive\n"); }while(msg.mtype!=1); msgctl(msgqid,IPC_RMID,0); exit(0);}main(){ server();}
msgrcv,msgsnd进程通信,消息的发送和接收
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。