serv06.c

来自「《unix网络编程第二卷》中的源代码」· C语言 代码 · 共 52 行

C
52
字号
/* include serv06 */#include	"unpthread.h"intmain(int argc, char **argv){	int				listenfd, connfd;	void			sig_int(int);	void			*doit(void *);	pthread_t		tid;	socklen_t		clilen, addrlen;	struct sockaddr	*cliaddr;	if (argc == 2)		listenfd = Tcp_listen(NULL, argv[1], &addrlen);	else if (argc == 3)		listenfd = Tcp_listen(argv[1], argv[2], &addrlen);	else		err_quit("usage: serv06 [ <host> ] <port#>");	cliaddr = Malloc(addrlen);	Signal(SIGINT, sig_int);	for ( ; ; ) {		clilen = addrlen;		connfd = Accept(listenfd, cliaddr, &clilen);		Pthread_create(&tid, NULL, &doit, (void *) connfd);	}}void *doit(void *arg){	void	web_child(int);	Pthread_detach(pthread_self());	web_child((int) arg);	Close((int) arg);	return(NULL);}/* end serv06 */voidsig_int(int signo){	void	pr_cpu_time(void);	pr_cpu_time();	exit(0);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?