daytimetcpsrv4.c

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

C
36
字号
#include	"unp.h"#include	<time.h>intmain(int argc, char **argv){	int				listenfd, connfd;	socklen_t		addrlen, len;	struct sockaddr	*cliaddr;	char			buff[MAXLINE], host[NI_MAXHOST], serv[NI_MAXSERV];	time_t			ticks;	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: daytimetcpsrv4 [ <host> ] <service or port>");	cliaddr = Malloc(addrlen);	for ( ; ; ) {		len = addrlen;		connfd = Accept(listenfd, cliaddr, &len);		if (getnameinfo(cliaddr, len, host, NI_MAXHOST, serv, NI_MAXSERV,						NI_NUMERICHOST | NI_NUMERICSERV) == 0)			printf("connection from %s.%s\n", host, serv);        ticks = time(NULL);        snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks));        Write(connfd, buff, strlen(buff));		Close(connfd);	}}

⌨️ 快捷键说明

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