HTTP 代理服务器 ProxyServer 文档
一 功能说明与技术特点
在特定端口上提供 HTTP 代理服务。 使用多线程技术, 处理系统信号与超时连接。具体如下:
1 多线程
在 ThreadManager 类中 创建线程处理客户端的代理请求。
2 信号处理
在 ProxyServer 类中使用系统函数 signal 处理 SIGINT 和 SIGQUIT 信号。
3 超时链接
在 ThreadManager 类的 transBetSerAndCli 函数中调用系统函数 select 处理超时链接。在 SocketManager 类中创建客户端线程时使用系统函数 setsockopt 设置链接等待时间。
4 运行
直接运行则在 3128 端口上提供 HTTP 代理服务, 也可在 ProxyServer 加端口号在特定端口提供 HTTP 代理服务。
二 文档与设计
本程序使用 DOXYGEN 软件对代码及注释产生文档, 用 UMBRELLA 设计 UML Class 图。 使用 Makefile 进行编译链接。 Makefile 使用示例:
make 生成可执行文件
make doc 根据代码使用 DOXYGEN 生成文档
make test 进行单元测试
make clean_all 对一切编译链接和产生的文件和产生的文档进行清理。
make clean_output 清理编译链接中产生的 OBJECT 文件。
三 文件清单
/design
Class Diagram.png UML 类图(设计图)
ProxyServer.xmi umbrella 类图设计文件
/DOC_OUTPUT
/html DOXYGEN 产生 HTML 形式的 API 文档
/shell Makefile 中要调用的 shell 程序
/src 源代码文件夹, 详细请看 API 文档
/Test 单元测试的可执行文件
Makefile make 文件
ProxyServer 代理服务器可执行文件
ProxyServerDOXY.cfg DOXYGEN 配置文件
ReadMe.rtf 说明文档
程序发布在google code. 地址如下: http://code.google.com/p/adsproxyserver/