TCP连接管理 tcpdaemon
本文导语: tcpdaemon是类似于xinetd的TCP守护服务,它封装提供了各种常见TCP连接管理模型(即时派生、预派生进程池等),使用者只需编写TCP通讯数据交换协议和应用处理代码,就能快速完整构造自己的TCP应用服务器。 使用tcpdaemon可使你...
tcpdaemon是类似于xinetd的TCP守护服务,它封装提供了各种常见TCP连接管理模型(即时派生、预派生进程池等),使用者只需编写TCP通讯数据交换协议和应用处理代码,就能快速完整构造自己的TCP应用服务器。
使用tcpdaemon可使你免于编写复杂的TCP连接管理代码和进程线程模型,如连接池的维护,tcpdaemon提供丰富的封装好的模型(都是UNP里的经典服务端模型)快速被你的应用调用,你只需编写使用代码即可。
使用tcpdaemon不仅可以像xinetd一样把你的应用以可执行程序方式挂接到tcpdaemon守护上,还提供了其它多种应用接口模式,如你来实现main函数和进程入口,适应各种各样的代码结构场合。
xientd与tcpdaemon的功能比较
* 应用亲和力 : xinetd主要面向系统服务层的TCP服务,tcpdaemon还面向应用层
* TCP连接管理模型 : xinetd只支持即时派生进程模型,tcpdaemon还支持领导者-追随者预派生进程池模型等其它高性能模型
* 应用接口模式 : xinetd只支持主守护模式,tcpdaemon还支持函数调用模式和异构模式
* 跨平台 : xinetd是UNIX独有软件,tcpdaemon是跨平台软件,支持类UNIX、Linux、WINDOWS等主流操作系统(有待实现)
tcpdaemon目前提供了三种TCP连接管理模型
* 即时派生进程模型 : 接受一个连接,就派生一个进程处理之
* 领导者-追随者预派生进程池模型 : 预派生一个进程池,自适应抢接受新连接
* 领导者-追随者预派生线程池模型(for WINDOWS) : 预派生一个线程池,自适应抢接受新连接
将来还将支持更多模型,如线程模型
tcpdaemon提供了三种应用接口模式
* 主守护模式 : 传统的xinetd模式,启动一个TCP守护,客户化部分以可执行程序或动态库方式挂接其上
* 函数调用模式 : 应用主控进程框架,以函数调用模式调用tcpdaemon,链接成独立的应用程序
* 异构模式 : tcpdaemon主控进程框架,但链接成独立的应用程序
三种应用接口模式已经足够适应几乎所有应用接口场合