//process communication, sending and receiving of messages//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/inch.h>#include<arpa/inet.h>#include<sys/ioctl.h>#include<stdarg.h>#include<fcntl.h>#include<fcntl.h>#defineMsgkey 75structmsgform{LongMtype; Charmtext[ +];} msg;intmsgqid;voidClient () {inti; Msgqid=msgget (Msgkey,0777); for(i=Ten; i>=1; i--) {Msg.mtype=i; printf ("(client) sent\n"); Msgsnd (Msgqid,&msg,1024x768,0); } exit (0);} Main () {client ();}//process communication, sending and receiving of messages//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/inch.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>#defineMsgkey 75structmsgform{LongMtype; Charmtext[ +];} msg;intmsgqid;voidServer () {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 process communication, message sending and receiving