📄 prg6_7client.c
字号:
#include <sys/msg.h>
#include <stdlib.h>
#include <sys/types.h>
#include "svmsg.h"
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
int client(int,int);
int main(int argc,char **argv)
{
int readid,writeid;
readid = msgget(MQ_KEY1,0);
writeid = msgget(MQ_KEY2,0);
client(readid,writeid);
exit(0);
}
size_t mesg_send(int id,mymesg *mptr)
{
return (msgsnd(id,&(mptr->mesg_type),mptr->mesg_len,0));
}
size_t mesg_recv(int id,mymesg *mptr)
{
size_t n;
n = msgrcv(id,&(mptr->mesg_type),MAXMESGDATA,mptr->mesg_type,0);
mptr->mesg_len = n;
return (n);
}
int client(int readfd,int writefd)
{
size_t len;
size_t n;
mymesg mesg;
fgets(mesg.mesg_data,MAXMESGDATA,stdin);
len = strlen(mesg.mesg_data);
if (mesg.mesg_data[len-1] == '\n')
len--;
mesg.mesg_len = len;
mesg.mesg_type = 1;
mesg_send(writefd,&mesg);
while (( n = mesg_revc(readfd,&mesg))> 0)
write(STDOUT_FILENO,mesg.mesg_data,n);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -