Welcome

首页 / 软件开发 / C++ / IP Messenger详细分析

IP Messenger详细分析2011-04-19朱海清 孟学桢一、系统概述

IP Messenger是一款局域网内部聊天、文件传输工具,具有很多优点,如数据通讯不需要 建立服务器、直接在两台电脑间通信和数据传输,支持文件及文件目录的传输,安全快捷以 及小巧方便等优异特点,因此很多公司都采用它作为部门、公司内部的IM即时通信工具。

IP Messenger在程序结构方面采用了Windows SDK处理结构,通信方面采用了TCP/UDP通信 方式,在文件传输处理方面采用文件映射技术,等等。通过分析IP Messenger的运行、工作 原理,可以提高并加深对Windows处理流程的理解,提高SOCKET编程技术等,因此特对其源码 进行分析,以抛砖引玉,共同提高大家的编程技术。

1、IP Messenger源代码的下载

在写这篇文章时,IP Messenger的最新版本是2.06,因此大家在下载时尽量选择最新版本 下载。IP Messenger源代码的下载地址是http://www.ipmsg.org/,在网站的右上角,点击 English page,网站转换到英文界面,网站有英文版以及其它语言的版本,当然还有中文版 的链接(http://www.azhi.net/IPMsg/),建议大家尽量下载原版的英文版源代码,以利于 学习。

2、IP Messenger源代码的目录及文件

IP Messenger源代码的目录结构及文件详见列表1.1 IP Messenger源代码主要的目录及文 件:

列表1.1 IP Messenger源代码主要的目录及文件

属性名称描述
目录SRC工程文件源代码和INSTALL目录
文件

IPMSG.MAKVC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文 件转换成DSP文件来处理
IPMSG.MDP后缀MDP(Microsoft DevStudio Project的简称)是老版本的项目文件, 相当于DSP文件
PROT-ENG.TXT英文版的协议描述
PROTOCOL.TXT日文版的协议描述
README.TXT英文版的README
README-J.TXT日文版的README
IP Messenger的SRC目录内容描述在列表1.2,SRC目录及主要文件。

属性名称描述
目录INSTALL安装程序源代码目录
文件BLOWFISH.CPP加密算法源文件
BLOWFISH.H加密算法头文件
BLOWFISH.H2加密算法随机数头文件
CFG.CPP系统配置源文件
IPMSG.CPPIPMSG的APP源文件
IPMSG.HIPMSG头文件
LOGDLG.CPP日志DLG源文件
LOGMNG.CPP日志处理源文件
MAINWIN.CPPIP Messenger主窗口源文件
MISCDLG.CPP消息DLG,关于DLG,以及控件子类化等源文件
MSGMNG.CPPSocket管理源文件
PLUGIN.CPPDll plugin加载源文件
RECVDLG.CPP接收消息处理源文件
SENDDLG.CPP发送消息处理源文件
SETUPDLG.CPPIP Messenger属性配置源文件
SHARE.CPP文件传输接收管理源文件
TAPP.CPP应用程序类源文件
TDLG.CPPDLG类源文件
TLIST.CPP链表类源文件
TREGIST.CPP注册表操作类源文件
TWIN.CPP窗口类源文件
MSGSTR.H字符串常量头文件
TLIB.H类、结构等头文件