p12-12.c
来自「SUN Solaris8平台下进程间通信」· C语言 代码 · 共 39 行
C
39 行
#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 + =
减小字号Ctrl + -
显示快捷键?