POCO库中文编程参考指南(10)如何使用TCPServer框架?
- Author: 柳大·Poechant(钟超)
- Email: zhongchao.ustc@gmail.com
- Blog: Blog.CSDN.net/Poechant
- Date: April 21th, 2012
1 TCPServer 框架概述
POCO 库提供TCPServer
框架,用以搭建自定义的 TCP 服务器。TCPServer
维护一个连接队列、一个连接线程池。连接线程用于处理连接,连接线程只要一空闲就不断地从连接队列中取连接并进行处理。一旦连接线程从连接队列中取到一个连接,就会创建一个TCPServerConnection
连接对象,并且调用该对象的start()
方法,直到start()
方法返回,这个连接对象就被删除了。
连接线程的数量是动态的,其取决于连接队列中排队的连接数。当然,你使用的时候可以设定连接队列的最大容量,以防止在高并发应用的服务器上出现连接太多而使连接队列溢出的悲剧发生。当连接队列满了,却还有新的连接到来时,新来的连接就会被立即悄无声息地关闭。
现在我们总结一下,就是要有一个可运行的 TCP 服务应用程序(命名为PoechantTCPServer
),还有很多 TCP 连接(命名为PoechantTCPConnection
)。而这里我们用到工厂模式(准确说是TCPServerConnectionFactory
要我们用的),所以还有一个