一个对异步IO的小小的介绍 (1)
一个对异步IO的小小的介绍 (2) 一个对异步IO的小小的介绍 (3) 一个对异步IO的小小的介绍 (4) 许多初学者都是从阻塞式IO网络编程开始的。如果一个IO操作是同步的,意味着当你调用相关的函数时,除非IO操作已经完成,否则函数不会立即返回,或者达到超时时间后才会返回。举例来说,当你使用TCP协议中的connect()函数时,你所在的操作系统将一个SYN包放入发往TCP另一端的数据队列中。除非从TCP另一端收到SYN ACK包,否则你的应用程序不会获得响应,或者经过足够的时间后放弃了连接网络才会获得响应。 这里有一个使用阻塞式IO的简单的客户端的例子:它打开一个www.google.com的连接,发送一个简单的HTTP请求,然后输出应答到stdout。 Example: A simple blocking HTTP client /* For sockaddr_in */#include <netinet/in.h>/* For socket functions */ #include <sys/socket.h>/* For gethostbyname */#include <netdb.h> #include <unistd.h> #include <string.h> #include <stdio.h> int main(int c, char **v) {