标签:
str_echo函数执行处理每个客户的服务:
从客户读入数据,并把它们回射给客户
读入缓冲区并回射其中内容:
read函数从套接字读入数据,writen函数把其中内容回射给客户
如果客户关闭连接,那么接收到客户的FIN将导致服务器子进程的read函数返回0,这又导致str_echo函数的返回,从而终止子进程
#include "unp.h" void str_echo(int sockfd) { ssize_t n; char buf[MAXLINE]; again: while ( (n = read(sockfd, buf, MAXLINE)) > 0) Writen(sockfd, buf, n); if (n < 0 && errno == EINTR) goto again; else if (n < 0) err_sys("str_echo: read error"); }
标签:
原文地址:http://www.cnblogs.com/ailx10/p/5352262.html