server.c

来自「本代码是linux消息机制部分的示例」· C语言 代码 · 共 49 行

C
49
字号
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <errno.h> #include <unistd.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/stat.h> #include <sys/msg.h>#define MSG_FILE "server.c" #define BUFFER 255 #define PERM S_IRUSR|S_IWUSR struct msgtype { 	long mtype; 	char buffer[BUFFER+1]; };int main() { 	struct msgtype msg; 	key_t key; 	int msgid;	/* 创建关键字 */	if((key=ftok(MSG_FILE,'a'))==-1) 	{ 		fprintf(stderr,"Creat Key Error:%s\a\n",strerror(errno)); 		exit(1); 	} 	/* 创建信号量 */	if((msgid=msgget(key,PERM|IPC_CREAT|IPC_EXCL))==-1) 	{ 		fprintf(stderr,"Creat Message Error:%s\a\n",strerror(errno)); 		exit(1); 	} 		while(1) 	{ 		msgrcv(msgid,&msg,sizeof(struct msgtype),1,0);    // 接受消息 		fprintf(stderr,"Server Receive:%s\n",msg.buffer); // 显示消息		msg.mtype=2; 		msgsnd(msgid,&msg,sizeof(struct msgtype),0);      // 发送消息	} 	exit(0); } 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?