#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <signal.h>
#include <sys/wait.h>
#include <poll.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <vector>
#include <iostream>
//错误输出宏
#define ERR_EXIT(m) \
do \
{ \
perror(m); \
exit(EXIT_FAILURE); \
} while(0)
//pollfd结构体
//struct pollfd{
// int fd;//文件描述符
// short events;//所请求的事件
// short revents;//实际返回的事件
// }
//动态数组
typedef std::vector<struct pollfd> PollFdLi
#include <sys/types.h>
#include <fcntl.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <signal.h>
#include <sys/wait.h>
#include <poll.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <vector>
#include <iostream>
//错误输出宏
#define ERR_EXIT(m) \
do \
{ \
perror(m); \
exit(EXIT_FAILURE); \
} while(0)
//pollfd结构体
//struct pollfd{
// int fd;//文件描述符
// short events;//所请求的事件
// short revents;//实际返回的事件
// }
//动态数组
typedef std::vector<struct pollfd> PollFdLi