popo2004程序结构分析

原创 2005年05月27日 14:51:00

网易泡泡2004(NETEASE POPO)分析报告

2005-4-15

By wateroom

目标版本:POPO2004BUILD0907

 

 

一.物理结构与文件功能分析

Popo2004 的顶层目录: 28 个文件 10 个目录,基本功能说明如下:

l         目录:

[.]                [..]

[ad]:存储广告信息,主要是些图片。

[BIMAGE]大型图片?       

[faces]:软件里个人配置时使用的头像文件。                     

[LU_TEMP]:存放自动升级组件从网上下载到的升级文件的ZIP包。

[plugins]:插件目录,用于功能扩展,例如MSN插件等。

[skin]:存放皮肤文件                    

[SysBmp]:软件图像资源,图标等。                  

[SYSDATA] :全局配置,关于表情,动作等。

[Users]:用户目录,存放用户的聊天纪录,个人配置信息等。

[wave]:存放系统使用到的声音文件。               

l         配置文件:

gdstrings.ini :全局字符串定义。

    localver.ini:存放本地文件的版本号,用于升级时同服务器文件版本对比。

 

l         可执行文件:

LSPhoneEngine.exeIP电话软件的核心

     Popo.exe:主程序,调用各个组件实现各种功能。

       Start.exe:启动程序,主要用作升级时解压缩[LU_TEMP]目录里的文件升级本地文件,然后创建进程启动popo.exe

      uninstall.exe:反安装程序。

l         动态链接库:

Ø         网易开发:

Bobo.dll:具体功能有待分析,比较核心的模块,调用其它几个组件,核心逻辑在此?

idlemon.dll:空闲处理。

MailChecker.dll:独立组件,检测邮箱是否有新邮件。

MsgHis.dll:独立组件,管理聊天纪录,消息历史。

ResLoc.dll:资源定位,需要和交互服务器的通讯都需要此文件?

SOX.dll:非常关键的组件,有待分析。

share.dll:文件共享组件。                                   

Updater.dll:自动升级组件。         

VCodec.dll:独立组件,用于Xvid进行MPEG4视频编码?

Trace.dll:用于追踪调试,被BOBO.DLL调用。                

XComm.dll:用于网络通讯。所有的通讯功能,无论是否服务器参与,还是P2P的都需要此组件的某些功能。         

XEmotion.dll:调用P2PMGR.dll。用于聊天时的表情传输与解释?

XFile.dll:用于聊天时传输文件。         

XGDI.dll:独立组件,用户界面。           

XVideo.dll:用于视频聊天,主要负责视频的捕获与编码。

XVoice.dll:音频流的捕获与发送,用于语音聊天。                           

Ø         微软系统库:

dbghelp.dll:用于调试帮助。

msvcp60.dll:微软VC++运行时库。

msvcrt.dll:微软C运行时库。 

Ø         第三方库:

LSPhoneCtrlDll.dllIP电话控件。

Unzip32.dll:解压缩组件。     

                   

    POPO使用了组件化技术,主程序同各个功能组件独立,便于升级与模块化开发。大部分DLLCOM组件。从大多数网易开发的组件调用MFC42.dll来看,软件使用VISUAL C++6.0开发。

  最核心的部分是Xcomm.dll,它包装了WINSOCK的一些函数,POPO进行所进行的网络通讯除了自动升级与邮件检测,其它数据全经过此组件的转发。初步推断使用UDP协议;P2pmgr.dll也被多次调用,可能是用于在2个客户端之间进行P2P通讯时的相关操作管理,维护文件传输,视频与语音传送等。Resloc.dll在自动升级等多个组件里被调用,可能包含确定服务器资源的代码,比如进行服务器端的负载均衡时的客户端选择代码。Bobo.dll里面应该包含主要的信息编解码与加密解密函数。

openGL细分程序结构分析与说明

  • 2014年05月21日 20:30
  • 29KB
  • 下载

Android VLC播放器二次开发1——程序结构分析

最近因为一个新项目需要一个多媒体播放器,所以需要做个视频、音频、图片方面的播放器。也查阅了不少这方面的资料,如果要从头做一个播放器工作量太大了,而且难度也很大。所以最后选择了VLC作为基础,进行二次开...

Android开发入门教程--2.Android应用程序结构分析

一、新建HelloWorld项目: 1、打开Eclipse,点击“File”->"New"->"Project"-Android Application Project"":   ...
  • joeyon
  • joeyon
  • 2015年10月21日 17:24
  • 262

我的Android笔记(一)—— hello world程序结构分析

新建一个android project,(我用的是2.3.3的Target),eclipse会自动生成以下内容—— ——这是一个完整的可运行的“hello world”程序。 运行结果为:...

单片机程序结构再分析

在学C++时对对单片机程序有一些新的想法。     转载请标明本文地址:http://blog.sina.com.cn/s/blog_6f2b6ba80101c3xi.html     在《单片机用定...

Darwin Streaming Server程序结构分析

Darwin Streaming Server是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。...

Android开发入门教程--2.Android应用程序结构分析

一、新建HelloWorld项目: 1、打开Eclipse,点击“File”->"New"->"Project"-Android Application Project"":   在弹出的“...
  • cwq9944
  • cwq9944
  • 2013年01月10日 13:57
  • 2876

Android VLC播放器二次开发1——程序结构分析

最近因为一个新项目需要一个多媒体播放器,所以需要做个视频、音频、图片方面的播放器。也查阅了不少这方面的资料,如果要从头做一个播放器工作量太大了,而且难度也很大。所以最后选择了VLC作为基础,进行二次开...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:popo2004程序结构分析
举报原因:
原因补充:

(最多只允许输入30个字)