分类: C/C++
2008-04-23 21:51:50
FMail文件信使 V1.0
作者:李晓飞
关键字:文件,加密,网络,数据库,Socket,ADO,XML,Shell
FMail 简介
FMail是一款局域网内文件传输工具,辅助用户完成日常工作中的文件传输任务。从功能方面讲,该软件实现了文件的单发和群发,用户查找,群发组管理,接收历史查询,远程用户维护,记录系统日志以及Shel与FMail系统之间的文件拖拉等功能。本软件是完全免费的绿色软件,使用简单方便,适用于Win9x
/ Win2000 / WinXp 等大多数Windows平台;而从软件设计角度看,该系统为简单的C(文件传输客户端) / S(文件传输服务端) /
S(数据库服务端)结构,文件传输为典型的Peer-to-Peer通讯。
开发环境
客户端数据访问机制
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系统来说,以上罗列内容只是其中很少一部分,关于内部机制在此我就不一一叙述,系统所有源代码都包含在压缩包内,如果您觉得该系统对您有价值请您为该系统打分评价,同时欢迎大家来信探讨,学习。高效,一流是我不变的追求!