child02l.c
来自「Unix网络编程 基于Socket的网络编程」· C语言 代码 · 共 41 行
C
41 行
#include "unp.h"pid_tchild_make(int i, int listenfd, int addrlen){ pid_t pid; void child_main(int, int, int); if ( (pid = Fork()) > 0) return(pid); /* parent */ child_main(i, listenfd, addrlen); /* never returns */}voidchild_main(int i, int listenfd, int addrlen){ int connfd; void web_child(int); fd_set rset; socklen_t clilen; struct sockaddr *cliaddr; cliaddr = Malloc(addrlen); printf("child %ld starting\n", (long) getpid()); FD_ZERO(&rset); for ( ; ; ) { FD_SET(listenfd, &rset); Select(listenfd+1, &rset, NULL, NULL, NULL); if (FD_ISSET(listenfd, &rset) == 0) err_quit("listenfd readable"); clilen = addrlen; connfd = Accept(listenfd, cliaddr, &clilen); web_child(connfd); /* process the request */ Close(connfd); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?