基于ACE的通信代理软件设计
设计实现目的:
1) 熟悉使用ACE网络框架。
2) 熟悉WEB服务前端通信方式(比如HTTP协议等)
3) 熟悉IOCP模式应用
4) 了解网络过滤、分析系统
5) 熟悉常用代理及类消息中间件的工作模式
6) 熟悉正则表达应用
7) 熟悉UML类图
应用特点:
1) 标准C++控制台程序,保持程序的可方便移植性。
2) 程式做到麻雀小而脏全,可扩展性好。
3) 文档全面详细。
开发工具:
1)底层控制台Vc++ 6.0
2)界面包装 c++builder 2007
使用到的开源类库:
1) 日志系统Log4j
2) BOOST类库
3) ACE网络复用框架
编码前的准备:
1) 可用类库整理打包
2) 需求打点、分析
3) 设计文档及UML类图设计
知识点说明:
用词 |
说明 |
ACE网络框架 |
是一套C++的通信库。它提供了socket/threading/memory management等多种系统调用的面对对象的wrapper,使C++通信软件开发更加简单,跨平台 |
WEB服务前端通信方式 |
HTTP通信协议及原理 |
IOCP |
完成端口 |
网络过滤 |
网络过滤是对网络单元信息进行有目的的匹配,筛选 |
正则表达 |
用某种模式去匹配一类字符串的一个公式 本程式采用boost库 头文件"boost/regex.hpp" |
UML |
统一建模语言,是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言 |
Log4j |
Apache为我们提供了一个强有力的开放源码日志操作包-Log4j- 为了使用设计快速化,选用ACE自带LOG工具类。 |
BOOST库 |
是一个经过千锤百炼、可移植、提供源代码的C++库,,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。 |