⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.c

📁 本代码是linux消息机制部分的示例
💻 C
字号:
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <errno.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <sys/stat.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(int argc,char **argv) { 	struct msgtype msg; 	key_t key; 	int msgid;       		if(argc!=2) 	{ 		fprintf(stderr,"Usage:%s string\n\a",argv[0]); 		exit(1); 	}       		/* 创建关键字 */	if((key=ftok(MSG_FILE,'a'))==-1) 	{ 		fprintf(stderr,"Creat Key Error:%s\a\n",strerror(errno)); 		exit(1); 	} 	/* 创建信号量 */	if((msgid=msgget(key,PERM))==-1) 	{ 		fprintf(stderr,"Creat Message Error:%s\a\n",strerror(errno)); 		exit(1); 	}       		msg.mtype=1; 	strncpy(msg.buffer,argv[1],BUFFER); 		msgsnd(msgid,&msg,sizeof(struct msgtype),0);      // 发送消息 	memset(&msg,'\0',sizeof(struct msgtype)); 	msgrcv(msgid,&msg,sizeof(struct msgtype),2,0);    // 接受消息	fprintf(stderr,"Client receive:%s\n",msg.buffer); // 显示消息		exit(0); } 

⌨️ 快捷键说明

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