文件名称:I/O多路转接-鸿鹄论坛_华为认证h35-211-hcnp-access network题库
文件大小:18.16MB
文件格式:PDF
更新时间:2024-07-29 08:59:00
UNIX 环境高级编程 linux
12.5 I/O多路转接 当从一个描述符读,然后又写到另一个描述符时,可以在下列形式的循环中使用阻塞 I / O: while ( (n=read(STDIN_FILENO, buf, BUFSIZ) ) > 0) if (write (STDOUT_FILENO, buf, n) != n) err_sys (write error”) ; 这种形式的阻塞 I / O到处可见。但是如果必须读两个描述符又将如何呢?如果仍旧使用阻塞 I / O, 那么就可能长时间阻塞在一个描述符上,而另一个描述符虽有很多数据却不能得到及时处理。 所以为了处理这种情况显然需要另一种不同的技术。 让我们概略地观察一个调制解调器拨号程序的工作情况(该程序将在第 1 8章中介绍)。该 程序读终端(标准输入),将所得数据写到调制解调器上;同时读调制解调器,将所得数据写 到终端上(标准输出)。图1 2 - 7显示这种工作情况。 2 9 6 U N I X环境高级编程 下载