参考博客:http://zxxapple.iteye.com/blog/1554692 套接字Select
阻塞和非阻塞的区别在于:进程访问数据时,数据未就绪,进行是否需要等待。阻塞:进程等到有结果再返回,函数返回。非阻塞:请求完立即返回,不论是否接收到数据。
异步和同步的区别在于:主动查看还是被动通知的区别,访问数据的机制不同。同步:主动请求,并等待I\O操作完毕,当数据读写时阻塞。异步:主动投递请求后可以,可处理其它事情,被调用者通过状态、事件、回调函数来通知被调用者。读取数据不阻塞。
Select 模型(同步阻塞模型)
Select按顺序查看数组中socket的状态,将发生网络事件的socket留在数组中,可以解决一个服务器对多个客户端的问题。
同步阻塞的优点:能够保证数据及时到达,配合多进程。
同步阻塞