服务器
- #include"sys/types.h"
- #include"sys/msg.h"
- #include"sys/ipc.h"
- #defineMSGKEY75
- structmsgform{
- longmtype;
- charmtext[1000];
- }msg;
- voidserver()
- {
- intmsgid;
- msgid=msgget(MSGKEY,IPC_CREAT|00666);
- if(msgid==-1)
- {
- printf("error!\n");
- return;
- }
- do
- {
- if(msgrcv(msgid,(void*)&msg,1000,0,0)==-1)
- {
- printf("receiveerror!\n");
- exit(0);
- }
- printf("receviedmessagesucceed!\n");
- }while(msg.mtype!=1);
- if(msgctl(msgid,IPC_RMID,0)==-1)
- {
- printf("msgctlfailed!\n");
- exit(0);
- }
- exit(1);
- }
- main()
- {
- server();
- }
客户端
- #include"sys/types.h"
- #include"sys/msg.h"
- #include"sys/ipc.h"
- #defineMSGKEY75
- structmsgform
- {
- longmtype;
- charmtext[1000];
- }msg;
- voidclient()
- {
- intmsgid,i;
- msgid=msgget(MSGKEY,IPC_CREAT|00666);
- if(msgid==-1)
- {
- printf("openerror!\n");
- return;
- }
- for(i=10;i>=1;i--)
- {
- msg.mtype=i;
- printf("clientsentmessage!\n");
- if(msgsnd(msgid,(void*)&msg,1000,0)==-1)
- {
- printf("senderror!\n");
- exit(0);
- }
- printf("sendmessagesucceed!\n");
- }
- exit(1);
- }
- main()
- {
- client();
- }
本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/718898