费劲的折腾,好几次小细节没处理好,真是醉了,不说了
代码记录下
服务端:
//fifo(first in, first out)
//有名管道
#include <iostream>
#include <unistd.h>
#include <cstdio>
#include <sys/wait.h>
#include <signal.h>
#include <cstring>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <cstdlib>
using namespace std;
#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
#define FIFO_0 "/tmp/fifo0"
const int size=256;
struct DATA
{
int nLen; //sBuf+pid的有效长度
pid_t pid;
char sBuf[size];
};
int server(int &readfd,int &writefd);
//server
//作用:多个客户端通过FIFO向server传来文件路径名,server返回路径名的反序
int main()
{
//start();
int readfd,writefd;
cout << FILE_MODE << endl;
unlink(FIFO_0);
if( (mkfifo(FIFO_0,FILE_MODE) < 0 ) )