Peercast源代码文件结构分析

PeerCast.org成立于2002年四月,它是一个非盈利性的站点,提供免费的P2P电台软件。这个项目的目标是创建一个容易使用、简单的和可靠的软件客户端,从而使任何人都可以广播流媒体,而不必耗费昂贵的服务器或者带宽。 baidu Peercast分为两个目录:   core目录主要完成核心的操作   ui目录实现界面 其中ui下面又可分为html目录和win32目录   html目录主要是一些网页,用来完成Peercast的相关配置,其中en为英文版本。   以下就en下的一些文件做一些介绍:   win32目录下的文件:   Simple.cpp 负责窗口界面的生成及一些相关启动管理   gui.cpp 完成peercast主窗口(GUI)的一些操作 core目录:   common目录:主要完成通用的核心代码(主要代码均在此目录下)   unix目录:与UNIX相关的一些类   win32目录:与win32相关的一些类   Wsys.cpp:继承自Sys,提供基本的win32功能例如开启线程   Wsocket.cpp:ClientSocket的WINDOWS版本.处理实际的读写TCP操作 下面着重介绍一下common目录,这是整个peercast的核心   Common.h 定义了一些异常处理类和GnuID、GnuIdList和Host类   Channel.cpp: 频道流类。它们进行客户之间的实际媒体流传输   Gnutella.cpp: GnuPacket是一个Guntella协议,GnuStream是一个流,用来读取/写入GunPackets   Html.cpp: Html协议的一些处理   Http.cpp: Http协议的一些处理   Icy.cpp:   IniFile.cpp 配置信息的读取和修改   Jismmsmp3nsvogg:处理不同的流格式,包括读取HEADER信息等   Pcp.cpp:Peercast的网络协议   Peercast.cpp: 整个Peercast流程的管理,包括启动频道管理器、服务管理器,关闭,登录日志等,设置服务器密码等   RTSP.cpp:只是个实验,并没有实际的东西   Servent.cpp:是客户端之间真正的连接。他们处理handShaking,数据转输和GnuPackets的处理。每个servent在连接时有一个socket分配   给它,它用这个socket来传输所有的数据   Servhs.cpp:处理一些HANDSHAKE相关的东西   ServMgr.cpp: 处理服务器信息的读取和修改。一个管理类,用来处理多样的severnt连接   Socket.cpp : ClientSocket是一个通用的socket接口,与OS/HW无关   Stat.cpp: 相关数据的统计   Stream.cpp: 一些流文件的读取和写入处理   Sys.cpp:一个对所有系统的基础类,例如开启线程,创建socket   url.cpp: 关于URL的一些处理操作   XML.cpp:进行电台信息的一些XML存取操作

转载于:https://www.cnblogs.com/hmmcsdd/archive/2007/10/08/peercastsourcecodefilestruct.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Peercast注释版是我在做本科毕业设计时分析Peercast的一些成果,当时阅读代码的时候做了注释,然后写了一些分析文章。本来想发到自己的博客上保留一份记录的,不想后来竟成了很多人参考Peercast的资料。这点上我是有些惭愧的,因为很多不成熟的想法和不正确的观点可能会误导大家,也希望大家能够分辨吧。本来想形成一份比较完整的注释版,但后来由于毕业以及转变研究方向等因素已经没有继续做下去了。不过核心的代码我想应该还是比较清晰的,大家可以参考一下。我把Peercast注释版发到CSDN的资源上,大家可以访问http://download.csdn.net/hicsdn/bbisonic进行下载,以后我就不回复索要代码的留言和邮件了。也是很抱歉,有半年的时间没更新过此BLOG了,对于有些我没注意到留言或邮件而漏发代码的朋友们,在此说声SORRY了。<br><br>大家在看代码前最好先看看Peercast源码分析文章,里面的<源码编译方法>可以告诉你如何编译Peercast源代码。<看源代码前必读>可以告诉你项目的组织结构以及各源码目录各自完成什么功能,可以让你对整体有个大概的了解。<Peercast整体架构分析>让你能大致了解一下Peercast的架构及设计思想。<阅读Peercast源码的一些经验>是我阅读Peercast源码的一些体会,希望对你能有所帮助。<Peercast服务器端代码执行流程>解释服务器启动的一些关键代码,<Peercast播放模块分析>解释Peercast如何调用播放器实现媒体播放的。以上是一些比较重要的文章,其他文章可以有选择性地看看。其他的话就看源码注释吧。<br><br>这份源码注释有很多不足之处,是我学习过程中的一个成果,大家请见谅。如果它能给你阅读 Peercast的过程中带来一些帮助的话,我将感到非常荣幸。<br>特此声明。<br><br>王浩聪<br>2007.12.11<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值