很早之前使用过完成端口,当时觉得是很不错的技术。但是后来发现用的地方并不多,对它也有些自己的想法,仁者见仁智者见智。
应用场景上,
个人觉得,iocp有些鸡肋,一般的应用用不上,复杂的程序可以使用并行多线程代替,现在的计算机也足够强大了。
实现技术上,
网络连接的监听和异步数据收发使用异步网络函数也可以实现,线程池的使用也已经不复杂,已经没必要使用完成端口
兼容性不够,
完成端口不能跨平台,只为能在windows中使用
成熟度上
iocp封装不完全,应用起来比较繁琐,比原生端口还多理解一层概念,却没有减少操作步骤,感觉就象个缝合怪。
iocp所宣扬的几个优点,用起来也不见多方便,有些还是需要自己去创建维护。
当然最重要是,程序结构和流程的设计比选用何种技术更重要。稳定,易用才是大家喜欢的技术。