Peercast源代码分析

转载 2006年06月05日 23:38:00

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 配置信息的读取和修改
    Jis/mms/mp3/nsv/ogg:处理不同的流格式,包括读取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存取操作

Peercast简介、分析及常见问题处理 (一)

一。简介      PeerCast.org成立于2002年四月,它是一个非盈利性的站点,提供免费的P2P电台软件。这个项目的目标是创建一个容易使用、简单的和可靠的软件客户端,从而使任何人都可以广播...
  • your8686
  • your8686
  • 2012年03月09日 14:53
  • 2718

Peercast的改进分析

Peercast可以说是一个实验的产品,而不是一个稳定的商业版本。所以无论在稳定性还是在性能上都存在一定的问题。这里提出Peercast存在的一些问题,并考虑相应的改进方法。希望可以为大家改进Peer...
  • bbisonic
  • bbisonic
  • 2006年05月02日 10:53
  • 3150

PeerCast技术报告

1. 重要说明本文中提到的PeerCast特指www.peercast.org发布的开源P2P流媒体软件PeerCast,作者为Giles。而不是斯坦福大学P2P小组H. Deshpande等人在论文...
  • asdnlee
  • asdnlee
  • 2008年01月17日 13:11
  • 1418

peercast 代码分析(1)——框架分析

peercast是一个开放源代码的p2p软件1. 根据我的分析,目前版本的p2p网络是一个树装结构。节目源同时也是p2p树的维护者,新加入的节点需要向树的根(节目源)发出请求,树的根会告诉他一个叶子列...
  • tedyxuan
  • tedyxuan
  • 2006年08月22日 13:47
  • 1364

peercast

1. 重要说明 本文中提到的PeerCast特指www.peercast.org发布的开源P2P流媒体软件PeerCast,作者为Giles。 而不是斯坦福大学P2P小组H. Deshpand...
  • haojianno1
  • haojianno1
  • 2012年08月27日 13:45
  • 648

关于Peercast注释版的最后声明

Peercast注释版是我在做本科毕业设计时分析Peercast的一些成果,当时阅读代码的时候做了注释,然后写了一些分析文章。本来想发到自己的博客上保留一份记录的,不想后来竟成了很多人参考Peerca...
  • bbisonic
  • bbisonic
  • 2008年01月21日 13:08
  • 3942

Peercast简介

    PeerCast.org成立于2002年四月,它是一个非盈利性的站点,提供免费的P2P电台软件。这个项目的目标是创建一个容易使用、简单的和可靠的软件客户端,从而使任何人都可以广播流媒体,而不必...
  • bbisonic
  • bbisonic
  • 2006年04月01日 12:14
  • 2841

Hadoop源代码分析(完整图文版) part 3

Hadoop源代码分析(三五) 除了对外提供的接口,NameNode上还有一系列的线程,不断检查系统的状态,下面是这些线程的功能分析。 在NameNode中,定义了如下线程:   Daemon ...
  • ssrc0604hx
  • ssrc0604hx
  • 2014年11月26日 15:42
  • 1272

Glibc内存管理--ptmalloc2源代码分析

原文地址:http://mqzhuang.iteye.com/blog/1005909
  • yazhouren
  • yazhouren
  • 2014年08月14日 10:17
  • 1163

PeerCast 分析报告

PeerCast 分析报告 目录/------------------------------------------------------------------------1. 程序基本结构1....
  • shunde_cai
  • shunde_cai
  • 2006年12月12日 11:13
  • 839
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Peercast源代码分析
举报原因:
原因补充:

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