服务器模型
C/S模型
P2P模型
服务器编程框架
I/O模型
I/O模型分为两种,阻塞和非阻塞,阻塞I/O执行的系统调用可能因为无法立即完成而被挂起,直到等待的事件发生为止。而非阻塞I/O执行的系统调用则总是立即返回,而不管事件是否已经发生。
两种高效的事件处理模式
Reactor模式
Reactor模型下,主线程只负责监听是否有事件发生,有的话就立即将该事件通知工作线程,除此之外,主线程不做任何其他实质性的工作。读写数据,以及处理客户请求均在工作线程中完成。
Proactor模式
与Reactor模式不同,Proactor模式将所有I/O操作都交给主线程和内核来处理,工作线程仅仅负责业务逻辑。