int main(){ /*Declares the base file descriptor, and the addresses.*/ int fd; struct sockaddr_in addr; struct sockaddr_in cliaddr; socklen_t cliaddrlen = sizeof(cliaddr); /*Create file descriptor, define socket, bind socket, listen on fd, create new connection fd, read incoming request into buffer buf.*/ fd = initialiseFd(); addr = defineSocket(addr,8080); bindSocket(fd,addr); listenFd(fd,6); while(1){ int* connfd = malloc(sizeof(int)); pthread_t thrd; *connfd = initialiseConnFd(fd,cliaddr,cliaddrlen); pthread_create(&thrd,NULL,readRequest,(void*)connfd); } /*close fd*/ close(fd); return 0; }
int main(int argc,char **argv) { muduo::net::EventLoop loop; g_loop = &loop; muduo::net::Channel channel(&loop,listenFd()); channel.setReadCallback(readCallback); //设置读回调 channel.enableReading(); //设置可读事件 loop.updateChannel(&channel); //加入epoll事件表 loop.loop(); //开始循环 return 0; }