一 客户程序的类型(速度从慢到快):
(1)停-等模式运行:
*缺点:进程被阻塞以等待用户输入,看不到诸如对端关闭连接等网络事件;批处理效率极低。
(2)select+shutdown+阻塞I/O:解决了上述的两个问题,select解决第一个,shutdown解决批处理问题。
(3)fork版本:比非阻塞稍慢。
(4)线程化版本:略快于fork版本。
(5)非阻塞I/O:
*优点:速度最快.
*缺点:代码最复杂。
二 总结:
(1)非阻塞版本虽然是速度最快,其代码却比较复杂;使用fork版本或线程化版本相比之下代码简化的多,但其运行速度只是比非阻塞稍差点而已。
(2)根据需要进行选择,但是第一种基本不用考虑。