I. Overview of the SYSTEM
IP Messenger is a LAN internal chat, File Transfer tool, has many advantages, such as data communication does not need to establish a server, direct communication between two computers and data transmission, supporting file and file directory transmission, security, fast and small and convenient and so on, so many companies use it as a department, Im instant Messaging tools within the company.
IP Messenger uses the Windows SDK processing structure in the aspect of program structure, uses the TCP/UDP communication method in the communication, uses the file mapping technology in the file transfer processing, and so on. By analyzing the operation and working principle of IP Messenger, we can improve and deepen the understanding of the Windows processing process, and improve the socket programming technology, so we analyze the source code to promote the programming technology.
1, IP Messenger source code to download
In writing this article, the latest version of IP Messenger is 2.06, so you should try to choose the latest version download. IP Messenger source code download address is http://www.ipmsg.org/, in the top right corner of the site, click on the Chinese page, the website to the English interface, the website has English version as well as other language versions, of course, there are links (http:// www.azhi.net/IPMsg/), we suggest that you try to download the original English version of the source code, in order to facilitate learning.
2, the IP Messenger source code directory and file
The directory structure and files for IP Messenger source code are detailed in the list 1.1 IP Messenger source code main directories and files:
List 1.1 IP Messenger source code main directories and files
Property |
Name |
Describe |
Directory |
Src |
Project file source code and install directory |
File |
Ipmsg. Mak |
VC4 and previous versions of the engineering files used to specify how to build a project, VC6 the Mak file into a DSP file to deal with |
Ipmsg. Mdp |
Suffix MDP (abbreviated for Microsoft DevStudio project) is an older version of the project file, equivalent to a DSP file |
Prot-eng. Txt |
English version of the agreement description |
PROTOCOL. Txt |
Japanese version of the protocol description |
Readme. Txt |
The English version of the Readme |
Readme-j. Txt |
Japanese version of the Readme |
IP Messenger's SRC directory contents are described in the list 1.2,src directory and main files.
Property |
Name |
Describe |
Directory |
INSTALL |
Installer Source code Directory |
File |
BLOWFISH. Cpp |
Encryption algorithm source file |
BLOWFISH. H |
Encryption Algorithm header file |
BLOWFISH. H2 |
Encryption algorithm random number header file |
Cfg. Cpp |
System Configuration Source Files |
Ipmsg. Cpp |
Ipmsg's app source file |
Ipmsg. H |
Ipmsg header File |
Logdlg. Cpp |
Log dlg Source files |
Logmng. Cpp |
Log processing source files |
Mainwin. Cpp |
IP Messenger main Window source file |
Miscdlg. Cpp |
Message dlg, about DLG, and control subclasses and other source files |
Msgmng. Cpp |
Socket Admin Source file |
PLUGIN. Cpp |
Dll Plugin Load source files |
Recvdlg. Cpp |
Receive Message processing source files |
Senddlg. Cpp |
Sending a message to process a source file |
Setupdlg. Cpp |
IP Messenger Property Configuration source file |
SHARE. Cpp |
File transfer receive admin source file |
TAPP. Cpp |
Application class source files |
Tdlg. Cpp |
Dlg Class source file |
Tlist. Cpp |
Linked List class source file |
Tregist. Cpp |
Registry Action class source file |
TWIN. Cpp |
Window class source file |
Msgstr. H |
string constant header File |
Tlib. H |
class, structure, and so on header files |