摘要:
最简模型while(1) { accept(); recv(); do(); send(); }这是服务端程序的最简模型:来一个连接,读取数据(请求),干活(处理),返回数据(应答)。同一时间只为一个客户端服务。事件驱动要考虑支持多个客户端,就有了选择,有了选择就叫设计。我们有两个选择:1. 采用select或poll(epoll)多路复用技术,同时监听多个连接以及listen socket的事件。这个叫事件驱动。2. 采用多线程(进程)技术,主线程accept一个连接,就创建或者从线程池中分配一个线程,一个线程处理一个连接。这个叫线程驱动。两者其实没有本质区别,都是中断驱动。第一个增加了编程 阅读全文