📄 process message communicate.c
字号:
#include <stdio.h>
#include <sys/types.h>
#include <sys/msg.h>
#include <sys/ipc.h>
#define msgkey 75
struct msgfirm
{
long mtype;
char mtext [1030];
}msg;
int msgqid,i;
void clint()
{
int i;
msgqid=(msgkey,0777); /* msgkey 为消息队列的名字, 0777为访问权限,表示所有用
户都可以读写*/
for (i=10;i>=1;i--)
{
msg.mtype=i;
printf("(client)sent\n");
msgsnd(msgqid,&msg,1024,0);
}
exit(0);
}
void sercer()
{
msgqid=msgget(msgkey,0777|IPC_CREAT);
msg.mtype=10;
do
{
msgrcv(msgqid,&msg,1030,0,0);
printf("(server)received\n");
msg.mtype--;
}
while (msg.mtype!=0);
msgct1(msgqid,IPC_RMID,0);
exit(0);
}
void main()
{
while ((i=fork())==-1);
if (!i) client();
while ((i=fork())==-1);
if(!i) server();
wait(0);
wait(0);
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -