//简单注释。
fd_set tempSockets= allSockets;
//时间段。
struct timeval st;
st.tv_sec = 3;
st.tv_usec = 0;
//select
int nRes= select(0,&tempSockets,NULL,NULL,&st);
select:
1、解决基于c/s模型中的accept rcev等待问题。等待阻塞。执行阻塞:seen的rcev accept;在执行复制粘贴过程中都是等待问题。解决傻待问题。
2、实现:多个客户端链接问题,与多个客户端分别通信。
3、用于服务器,客户端不用此,其只有一个socket。
服务端:
1、打开网络库。
2、校验版本。
3、创建SOCKET。
4、绑定地址与端口。
5、开始监听。
6、select。每个客户端都有socket,服务器也有自己的socket,将所有的socket装进一个数据结构里,即数组。通过select函数,遍历1中的socket数组,当某个socket有响应,select就会通过其参数/返回值反馈出来。如果检测是服务器socket:这个就是客户端链接,就调用accept;如果检测到的是客户端的socket,那就是客户端请求通信,seed或者recv。