IP Messenger 详细分析(飞鸽传输ipmsg)
来源:互联网 发布:mac推出是什么意思 编辑:程序博客网 时间:2024/06/05 16:15
一、系统概述 IP Messenger是一款局域网内部聊天、文件传输工具,具有很多优点,如数据通讯不需要建立服务器、直接在两台电脑间通信和数据传输,支持文件及文件目录的传输,安全快捷以及小巧方便等优异特点,因此很多公司都采用它作为部门、公司内部的IM即时通信工具。 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源代码主要的目录及文件 文件 IP Messenger的SRC目录内容描述在列表1.2,SRC目录及主要文件。 另外在SRC目录下,还有一个INSTALL目录,该目录中的文件是IP Messenger安装程序的源代码,其主要文件描述在列表1.3 INSTALL目录主要文件。 以上是IP Messenger的主要目录及其主要源文件的描述,通过列表我们可以清晰看出IP Messenger的功能分布。在以下的详细分析中,我们主要围绕着这些源文件而展开。 3、IP Messenger源代码的工程转换 由于IP Messenger是使用以前版本的VC编写的,因此在打开工程文件时,需要转换该工程文件为VC6版本的工程文件。
IP Messenger在程序结构方面采用了Windows SDK处理结构,通信方面采用了TCP/UDP通信方式,在文件传输处理方面采用文件映射技术,等等。通过分析IP Messenger的运行、工作原理,可以提高并加深对Windows处理流程的理解,提高SOCKET编程技术等,因此特对其源码进行分析,以抛砖引玉,共同提高大家的编程技术。
列表1.3 INSTALL目录主要文件
双击打开IPMSG.MDP文件,系统提示转换IPMSG.MAK工程配置文件到VC6下的工程文件,如下图所示。
单击 “是”按钮,确定将工程转换成VC6的工程。系统提示将MAK工程文件转换成DSP工程文件,如下图所示。
单击“确定”按钮,系统根据MAK文件生成IPMSG.DSP文件,以及VC6下的IPMSG.DSW文件,另外系统还生成了IPMSG.NCB和IPMSG.OPT两个文件。
4、IP Messenger的工程配置
IP Messenger的配置和目前VC6的工程配置有些不同,其安装工程文件和工程文件在混合在一起,不像VC6工程文件,不同的工程在不同的项目下,分别进行配置。
单击“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版的安装工程。
这节的系统配置概述就到此结束,下一节将要分析IP Messenger的系统运行框架及其流程,通过分析和学习,掌握Windows的基本开发思想。
- IP Messenger 详细分析(飞鸽传输ipmsg)
- 飞鸽传输IPMsg协议+翻译
- 在Linux(Ubuntu)下使用飞鸽传输(ipmsg)
- msn messenger protocol详细分析
- Ip Messenger
- IPMSG协议分析第一步
- 分析IPMSG源代码
- IpMsg代码分析(一)
- IpMsg代码分析(二)
- IpMsg代码分析(三)
- IP Messenger程序
- Ipmsg
- IPMsg
- tcp连接,传输,断开详细分析
- IP协议首部详细分析
- IP协议首部详细分析
- Ubuntu 9.04 编译安装飞鸽(IPMsg 0.9.6)
- MSN Messenger协议分析
- org.apache.tools.zip在Linux下压缩文件中文乱码问题解决
- flash中try catch的不同编译
- org.apache.tools.zip包解决java.util.zip包中文问题
- javascript ie6 变量不兼容 ie6报错但是Firefox,ie8等其他浏览器正常问题
- NetBeans中引入外部服务器Tomcat
- IP Messenger 详细分析(飞鸽传输ipmsg)
- Asterisk命令MeetMe详解
- Ext js
- windows下文件名正常,但linux下用ZipOutputStream压缩后中文文件名乱码
- DBCC修复数据库
- dedecms 最简单 增删查
- Javascript 刷新框架及页面的方法
- 最新nod32 for windows2003
- 苦恼啊!!!!!!!!!!!11