IO复用一 非阻塞的connect
IO复用二 聊天室程序:
其中客户端程序有两个功能:一是从标准输入读入用户数据,并将用户数据发送到服务器;二是往标准输出终端打印服务器发送给它的数据。 服务器的功能是接收客户数据,并把客户数据发送给每一个登录到该服务器上的客户端(数据发送者除外)。
IO复用三:同时处理TCP和UDP服务 有不少服务器程序能同时监听多个端口,比如超级服务inetd和android的调试服务adbd。
从bind系统调用的参数来看,一个socket只能与一个socket地址绑定,即一个socket只能用来监听一个端口。因此,服务器如果要同时监听多个端口,就必须创建多个socket,并将它们分别绑定到各个端口上。这样一来,服务器程序就需要同时管理多个监听socket,I/O复用就用用武之地了。另外,即使是同一个端口,如果服务器要同时处理该端口上的TCP和UDP请求,则也需要创建两个不同的socket:一个是流socket,另一个是数据报socket,并将它们都绑定到该端口上。