2008年(884)
分类: C/C++
2008-08-06 09:59:23
客户端数据访问机制
FMail本着使用方便的原则来规划,设计系统。为了最大限度减少客户端环境配置的过程,客户端不直接和后台数据库交互,其中数据集查询采用了文件交互方式,具体的交互过程为:Agent发送SQL请求,服务端接收Agent
SQL请求然后服务器通过ODBC直接与后台MySql数据库交互,最终将处理结果返回给Agent,Agent接收到SQL返回结果并做相应的数据处理。
附加库
NetLib库
NetLib库是网络通讯基础,系统所有的网络通讯功能都由该库提供,其中包括了客户端和服务端.该库封装了原始Socket绝大部分操作,在原始Socket封装类的基础之上又封装了阻塞和非阻塞模式的客户端、服务端Socket(Fmail系统采用了异步Socket和同步Socket混合的通讯模式),并在此基础上完全封装了文件发送和文件接收类;除此之外该库还封装了线程、线程池、互斥量、互斥列表、互斥向量等常用对象.对于NetLib库该系统以DLL方式来发布。
ADODB库
ADODB库是数据库访问的基础,该库封装了ADO数据库操作的主要对象:_ConnectionPtr,_RecordSetPtr和_FieldPtr对象.除此之外该库还封装了_variant_t和time基础类,使得对各种类型的字段存取操作更方便.
Agent功能图示
对应该工具栏功能依次为:刷新用户列表;搜索某一用户;当前用户改名;查看当前用户的主机地址;添加文件;移除发送列表中文件;发送文件;取消发送;系统设置;隐藏系统和系统帮助。
图一
图二
图三
图四
结尾
对于整个FMail系统来说,以上罗列内容只是其中很少一部分,关于内部机制在此我就不一一叙述,系统所有源代码都包含在压缩包内,如果您觉得该系统对您有价值请您为该系统打分评价,同时欢迎大家来信探讨,学习。高效,一流是我不变的追求!