引用:http://anzhsofttech.ycool.com/post.3112451.html
飞鸽传书 (IP Messenger V2.06)是一款基于 TCP/IP(UDP)的局域网内即时通信软件,2.00以上版本支持局域网内发信息、传送文件、文件夹、多文件(或文件夹),通讯数据采用 RSA/Blofish 加密 (2.00版以上),速度非常快,采用BSD License开源许可协议发布。数据通讯不需要建立服务器、直接在两台电脑间通信和数据传输,支持文件及文件目录的传输,具有安全快捷以及小巧方便等优异特点,因此很多公司都采用它作为部门、公司内部的IM即时通信工具。IP Messenger在程序结构方面采用了Windows SDK处理结构,通信方面采用了TCP/UDP通信方式,在文件传输处理方面采用文件映射技术等。最新版(2.50 alpha6)的Log文件支持 UTF-8编码格式,增加了气球提示。(1)从官方主页http://www.ipmsg.org/index.html.en下载IP Messenger的源代码压缩包ipmsg206src.zip,解压缩得到如下图所示的目录;(2)IP Messenger的主要目录及其主要源文件的描述 属性 名称 描述 目录 SRC 工程文件源代码和INSTALL目录 文件 IPMSG.MAK VC++ 4及以前版本使用的工程文件,用来指定如何建立一个工程,VC++ 6把MAK文件转换成DSP文件来处理 IPMSG.MDP 后缀MDP(Microsoft DevStudio Project的简称)是老版本的项目文件,相当于DSP文件 PROT-ENG.TXT 英文版的协议描述 PROTOCOL.TXT 日文版的协议描述 README.TXT 英文版的README README-J.TXT 日文版的README (3)IP Messenger的SRC目录及主要文件属性 名称 描述 目录 INSTALL 安装程序源代码目录 BLOWFISH.CPP 加密算法源文件 BLOWFISH.H 加密算法头文件 BLOWFISH.H2 加密算法随机数头文件 CFG.CPP 系统配置源文件 IPMSG.CPP IPMSG的APP源文件 IPMSG.H IPMSG头文件 LOGDLG.CPP 日志DLG源文件 LOGMNG.CPP 日志处理源文件 MAINWIN.CPP IP Messenger主窗口源文件 MISCDLG.CPP 消息DLG,关于DLG,以及控件子类化等源文件 MSGMNG.CPP Socket管理源文件 PLUGIN.CPP Dll plugin加载源文件 RECVDLG.CPP 接收消息处理源文件 SENDDLG.CPP 发送消息处理源文件 SETUPDLG.CPP IP Messenger属性配置源文件 SHARE.CPP 文件传输接收管理源文件 TAPP.CPP 应用程序类源文件 TDLG.CPP DLG类源文件 TLIST.CPP 链表类源文件 TREGIST.CPP 注册表操作类源文件 TWIN.CPP 窗口类源文件 MSGSTR.H 字符串常量头文件 TLIB.H 类、结构等头文件 另外,在SRC目录下,还有一个INSTALL目录,该目录中的文件是IP Messenger安装程序的源代码,其主要文件描述如下表所示:属性 名称 描述 文件 INSTALL.CPP 安装程序源文件 INSTALL.H 安装程序头文件 (4)IP Messenger源代码的工程转换由于IP Messenger是使用VC++ 4编写的,使用VC++ 6打开工程文件时,需要将该工程文件转换为VC++ 6版本的工程文件。打开VC++ 6开发工具,将源代码目录下的IPMSG.MDP文件拖到VC++ 6中;或者双击打开IPMSG.MDP文件,启动VC++ 6之后,会弹出如下图所示的提示转换IPMSG.MAK工程配置文件到VC++ 6下的工程文件的对话框。单击 “是”按钮,确定将工程转换成VC++ 6的工程。此后,系统会弹出如下图所示的对话框,提示将MAK工程文件转换成DSP工程文件。单击“确定”按钮,系统会自动根据MAK文件生成IPMSG.DSP文件,以及VC++ 6下的IPMSG.DSW文件,另外,系统还生成了IPMSG.NCB和IPMSG.OPT两个文件。这时的源代码工程目录如下所示:(5)IP Messenger的工程配置 IP Messenger的配置和VC++ 6的工程配置有些不同,其安装工程文件和工程文件在混合在一起,不像VC++ 6工程文件,不同的工程在不同的项目下,分别进行配置。配置IP Messenger工程的方法如下:单击“Build”菜单,选择“Set Active Configuration…”,弹出“Set Active Project Configuration”对话框,如下图所示。 IP Messenger的工程配置有6个,分别是Release的英文、日文以及Debug的ipmsg工程和安装工程。通过选择不同的配置,可以编译出不同的工程。根据需要,可以选择ipmsg-Win32 Debug配置作为当前活动工程,此编译配置可以编译出Debug版的ipmsg。单击“Project”菜单,选择“Settings…”,弹出“Project Settings”对话框,选择“C/C++”标签栏,如下图所示。可以看到,在“Preprocessor definition:”中,工程使用了“JAPANESE”宏定义,也就是说,编译后的Debug版的ipmsg是日文版。当然,可以根据需要,修改此宏为“ENGLISH”,就可以编译出Debug版的英文ipmsg。编译ipmsg的安装工程时,应选择ipmsg-Win32 InstallerDbg配置作为当前活动工程,编译出Debug版的安装工程。(6)完成上述操作之后,就可以使用VC++ 6来编译、调试IP Messenger。