📄 server.c
字号:
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <signal.h>#include <sys/msg.h>#include <sys/ipc.h>#include "message.h"int msqid=-1;void sig_handle(int signo){ if (msqid!=-1) msgctl(msqid,IPC_RMID,NULL); printf("server quit...\n"); exit(0);}int main(){ struct mymsgbuf msgbuf; int left,right; char c; int length; if ((msqid=msgget(999,0666))!=-1) { msgctl(msqid,IPC_RMID,NULL); } if ((msqid=msgget(999,IPC_CREAT|0666))==-1) { printf("error:getmsg\n"); exit(1); } signal(SIGINT,sig_handle); /*LINUX-CTRL-D*/ for (;;) { if (msgrcv(msqid,&msgbuf,256,1L,0)==-1) { printf("error:msgrcv\n"); exit(1); } printf("Receive message :\n"); printf("\tid:\t %s\n",msgbuf.student.id); printf("\tname:\t %s\n",msgbuf.student.name); printf("\tage:\t %d\n",msgbuf.student.age); printf("\tEmail:\t %s\n\n",msgbuf.student.e_mail); } msgctl(msqid,IPC_RMID,NULL); exit(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -