Example #1
0
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;

}
Example #2
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;
}