执行时间:
停等版本(完全阻塞) 》 select加阻塞I/O版本 》 fork多进程版本(Linux下多线程也应该差不多) 》 非阻塞I/O版本
非阻塞读写
#include..., F_GETFL, 0);
fcntl(STDIN_FILENO, F_SETFL, val|O_NONBLOCK);
val = fcntl(STDOUT_FILENO, F_GETFL..., 0);
fcntl(STDOUT_FILENO, F_SETFL, val|O_NONBLOCK);
toiptr = tooptr = to;
friptr = froptr...= fr;
stdineof = 0;
maxfd = MAX(MAX(STDIN_FILENO, STDOUT_FILENO), connfd);
while(1)...if(FD_ISSET(STDIN_FILENO, &rset))
{
if((n = read(STDIN_FILENO, toiptr, &to[MAX_LINE