Fmail Introduction
Fmail is a local area Network File Transfer tool to assist users to complete the daily work of file transfer tasks. From the functional aspect, this software realizes the file single and the mass, the user searches, the mass group management, receives the historical inquiry, the remote user maintains, records the system log as well as the Shel and the Fmail system file dragging and so on function. The software is completely free of green software, easy to use, suitable for most Windows platform such as WIN9X/WIN2000/WINXP, and from the software design point of view, the system is a simple C (File transfer client)/s (File Transfer server)/s (Database service-side) structure, File transfer is a typical peer-to-peer communication.
Development environment
Microsoft Windows Watts (Service Pack 3)
Microsoft Visual C + + 6.0
MYSQL 3.23.52 + Microsoft Paradox 7.0
Microsoft ADO + Windows Socket Library 2.0
Client data access mechanism
Fmail in the use of convenient principles to plan, design the system. In order to minimize the client environment configuration process, the client does not directly interact with the background database, where the data set query using file interaction, the specific interaction process is: agent to send SQL request, Server receiver Agent SQL request then the server through ODBC directly with the background MySQL database interaction, and eventually return the processing results to agent,agent received the SQL return results and do the corresponding data processing.
Additional libraries
Netlib Library
Netlib Library is the basis of network communication, all the network communication functions of the system are provided by the library, including the client and server side. The library encapsulates most of the original socket operation, and encapsulates the blocking and non-blocking mode client, service socket (Fmail system uses asynchronous socket and synchronous socket mixed communication mode) on the base of the original socket encapsulation class. And on this basis completely encapsulates the file send and the file receives the class; In addition, the library encapsulates threads, thread pools, mutexes, mutexes, mutexes, and other common objects. For the Netlib library, the system is published in a DLL manner.
ADODB Library
The ADODB library is the basis for database access, which encapsulates the main objects of ADO database operations: _connectionptr,_recordsetptr and _fieldptr objects. In addition, the library encapsulates the _variant_t and time base classes, making it easier to access various types of fields.
Agent function diagram
The function of the toolbar should be: Refreshing the user list, searching for a user, renaming the current user, viewing the host address of the current user, adding files, removing files from the Send list, sending files, canceling sending, system setting, hiding system and system help.
Figure I