client.c
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include <sys/socket.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <sys/stat.h> #include <arpa/inet.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <unistd.h> #include <time.h> #define maxn 101 /** 消息队列发送信息全过程有: 1>定义消息结构 2>打开/创建消息队列 3>组装信息 4>发送信息 5>发送判断 消息队列接收信息全过程: 1>定义消息结构 2>打开/创建消息队列 3>准备接收消息缓冲区 4>接收消息 5>接收判断 **/ struct mymsgbuf { long mtype; char ctext[100]; }; void _encode(char e_message[],char d_message[]) { long i ; sscanf(d_message,"%s",e_message); memset(d_message,0,sizeof(d_message)); for(i = 0;i < strlen(e_message);i++) { sprintf(d_message,"%s%03d",d_message,e_message[i]+588); } } int main() { /**发送信息例子**/ struct mymsgbuf buf; int msgid; char d_message[maxn]; char e_message[maxn]; printf("输入要发送的消息:"); if((msgid = msgget(0x1234,0666|IPC_CREAT)) <0) { fprintf(stderr, "open msg %X failed. ",0x1234 ); return ; } while(strncmp(d_message,"exit",4)) { memset(&buf,0,sizeof(buf)); memset(d_message,'