📄 tcpdaytimed.c
字号:
/* TCPdaytimed.c - main */#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <unistd.h>#include <stdio.h>#include <string.h>extern int errno;int errexit(const char *format, ...);void TCPdaytimed(int fd);int passiveTCP(const char *service, int qlen);#define QLEN 32/*------------------------------------------------------------------------ * main - Iterative TCP server for DAYTIME service *------------------------------------------------------------------------ */intmain(int argc, char *argv[]){ struct sockaddr_in fsin; /* the from address of a client */ char *service = "daytime"; /* service name or port number */ int msock, ssock; /* master & slave sockets */ unsigned int alen; /* from-address length */ switch (argc) { case 1: break; case 2: service = argv[1]; break; default: errexit("usage: TCPdaytimed [port]\n"); } msock = passiveTCP(service, QLEN); while (1) { alen = sizeof(fsin); ssock = accept(msock, (struct sockaddr *)&fsin, &alen); if (ssock < 0) errexit("accept failed: %s\n", strerror(errno)); TCPdaytimed(ssock); (void) close(ssock); }}/*------------------------------------------------------------------------ * TCPdaytimed - do TCP DAYTIME protocol *------------------------------------------------------------------------ */voidTCPdaytimed(int fd){ char *pts; /* pointer to time string */ time_t now; /* current time */ char *ctime(); (void) time(&now); pts = ctime(&now); (void) write(fd, pts, strlen(pts));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -