📄 p12-12.c
字号:
#include <time.h>#include <sys/types.h>#include <stdio.h>#include <stdlib.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h>#include "err_exit.h"#define LISTENQ 5#define MAXLINE 512int make_socket(unsigned short int);int main(int argc, char **argv){ int listenfd,connfd; size_t len; struct sockaddr_in servaddr,cliaddr; char buff[MAXLINE]; time_t ticks; /* 创建并命名套接字,make_socket参见程序12-9 */ listenfd = make_socket(13); /* daytime 服务端口 */ /* 创建侦听队列 */ listen(listenfd, LISTENQ); /* 连接处理 */ for(; ;){ len = sizeof(cliaddr); /* 接收连接 */ connfd = accept(listenfd, (struct sockaddr *)&cliaddr, &len); /* 打印出连接的客户是谁 */ printf("connect from %s,port %d\n", inet_ntoa(cliaddr.sin_addr.s_addr),ntohs(cliaddr.sin_port)); /* 向客户报告时间 */ ticks = time(NULL); sprintf(buff,"%.24s\r\n",ctime(&ticks)); write(connfd,buff,strlen(buff)); /* 关闭连接套接字 */ close(connfd); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -