Username: Password:

Peercast源代码分析
来源: ChinaUnix博客  作者: 发布时间:2008-04-25 08:42:46


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存取操作
http://blog.csdn.net/cc1983/
http://bbs.lmtw.com/index.asp
http://www.chinaavs.com/bbs/index.php
http://blog.csdn.net/bbisonic/
http://movie.jndaily.com/
http://blog.lmtw.com/b/guanyhu/index.html


喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅