process message communicate.c

来自「进程消息通信 linux下gcc实现 创建并发送接受消息」· C语言 代码 · 共 65 行

C
65
字号
#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 + =
减小字号Ctrl + -
显示快捷键?