并发服务器

Unix中编写并发服务器最简单的办法是fork一个子进程来服务每个客户。

pid_t fpid;
int listenfd, connfd;
listenfd = socket(...);
bind(listenfd, ...);
listen(listen, LISTENQ);
for ( ; ;){
    connfd = accept(listen, ...);
    if ( (fpid = fork()) == 0){   // Child process
        close(listenfd);
        doit(connfd);
        close(connfd);            
        exit(0);                          // Child terminates
    }
    close(connfd);                   // Parent closes connected socket
}

 

posted @ 2016-04-20 14:55  LarryKnight  阅读(138)  评论(0编辑  收藏  举报