FMail 簡介
FMail是一款局域網內文件傳輸工具,輔助用戶完成日常工作中的文件傳輸任務。從功能方面講,該軟件實現了文件的單發和群發,用戶查找,群發組管理,接收歷史查詢,遠程用戶維護,記錄系統日志以及Shel與FMail系統之間的文件拖拉等功能。本軟件是完全免費的綠色軟件,使用簡單方便,適用於Win9x / Win2000 / WinXp 等大多數Windows平台;而從軟件設計角度看,該系統為簡單的C(文件傳輸客戶端) / S(文件傳輸服務端) / S(數據庫服務端)結構,文件傳輸為典型的Peer-to-Peer通訊。
開發環境
Microsoft Windows 2000 (Service Pack 3)
Microsoft Visual C++ 6.0
MySql 3.23.52 + Microsoft Paradox 7.0
Microsoft ADO + Windows Socket Library 2.0
客戶端數據訪問機制
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系統來說,以上羅列內容只是其中很少一部分,關於內部機制在此我就不一一敘述,系統所有源代碼都包含在壓縮包內,如果您覺得該系統對您有價值請您為該系統打分評價,同時歡迎大家來信探討,學習。高效,一流是我不變的追求!
本文配套源碼