最近研究如何将POCO网络库应用在高并发项目中,发现POCO在windows下面使用select模型,不适合做高并发的TCP服务器。
当然用作HTTP服务器是可以的,因为HTTP服务器实现是这样的。
通过线程池来管理多个HTTP连接,当并发连接超过最大的线程池数量的时候,连接排队等待线程处理中,只要处理速度足够块,高并发请求也可以响应,因为HTTP连接处理完成后,就断开了。
但是如果是需要长连接,这种处理过程就无法满足了,而提供的select模型也不能应用,当然在linux下面可以使用epull,但是设计上面就不现在这个模型了,因为设计的HTTP服务器都不需要epull进行处理
# 结论
POCO适合做HTTP服务器,但是不适合做TCP长连接高并发的服务器。