客户端分拆方案.ppt_第1页
客户端分拆方案.ppt_第2页
客户端分拆方案.ppt_第3页
客户端分拆方案.ppt_第4页
客户端分拆方案.ppt_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

客户端分拆方案,jarjar 2005.10,各个模块,播放插件(ChaosFilter和NetworkProxy) NetworkProxy从NetworkStub读取数据交给ChaosFilter播放 ChaosFilter根据播放状态调用NetworkProxy控制本地进程 本地进程(LocalServer和NetworkStub) NetworkStub从Layer1读取数据,然后Push给NetworkProxy LocalServer负责给用户显示信息 LocalServer支持同时与多个播放插件进行交互 Layer1 负责下载数据并存储到缓冲文件 多语言 独立的DLL,提供从ID到String的查找 升级程序 负责检查程序版本是否最新 负责下载最新程序并解压,同时显示下载进度 安装过程中能够提示用户关闭占用目标文件的进程,给出列表 其他 NetworkProxy和NetworkStub通信使用Socket或者Windows Message,Layer1,播放插件,客户端各个模块关系图,-开始下载 -停止下载 -获取数据 -显示讯息,- 获取讯息,-初始化 -开始下载 -停止下载 -获取数据 -此次缓冲结束 -获取缓冲进度 -获取传输信息 -获取频道名称 -获取频道码率 -显示讯息,中转调用(Message),本地进程,-开始下载 -停止下载 -获取数据 -显示讯息,-请求下载,-创建,Update,-启动升级进程并等待升级完成,-创建,- 获取讯息,简单流程,ChaosFilter call NetworkProxy:Request() NetworkProxy execute update process and wait until update finished. NetworkProxy connect to LocalServer LocalServer new ChannelMgr, and pass socket_from_proxy and ChaosUI to ChannelMgr. ChannelMgr new NetworkStub, and pass socket_from_proxy to NetworkStub. Stub Read call from socket. Stub call ChannelMgr:Request(),Proxy & Stub,Proxy,Stub,Message,Audio,Video,声音和视频要分开传输,因为数据不是严格同步的。分开之后,使用阻塞的Socket更加方便。,流程: (Local Server = LS) Proxy启动升级程序,等待升级程序退出(升级完毕)。 Proxy发送MSG(包含gtv url和Proxy接收消息的窗口名)给LS。 LS初始化一个Stub,Stub初始化一个Layer1。Stub发送MSG告知Proxy初始化失败或者成功。 Proxy连接上LS,说明自己属于某个Stub。LS将连接交给Stub。 Stub从Layer1读取数据,分视频/音频通过Socket发送给Proxy。Proxy开始播放。 Proxy发送MSG通知Stub停止播放。Stub释放Layer1及自身。 辅助: Proxy和Layer1将要显示的消息发送给Stub, Stub交给LS显示。 Stub发现Layer1的数据不足,开始循环检查缓冲进度(同时交给LS显示),缓冲结束后通知Layer1。 异常: Stub初始化Layer1失败,通知Proxy停止播放,交给LS显示信息。 Layer1下载过程中发生致命错误,通知Stub,Stub通知Proxy停止播放,交给LS显示信息。,不允许同时打开一个以上的player播放同一个频道。,每个Proxy有一个接收消息的Window(随机名字),Local Server有一个接收消息的Window(固定名字),都可以通过FindWindow查找。,例外情况,播放插件进程被突然中止 本地进程每隔一段时间检查每个播放插件的线程是否还存在。 本地进程进程被突然中止 播放插件每隔一段时间检查网络程序是否存在。如果不存在,则重复启动过程,并且准备接受新的播放位置(可能有些难度)。,播放插件内部结构,The Filter,Video Pin 读取Socket播放,Audio Pin 读取Socket播放,NetworkProxy,检查网络程序是否存在 (准备好重新启动播放的流程),根据播放状态控制网络程序,多语言切换,本地进程结构,The EXE,显示信息 (托盘图标/菜单/气泡) (类QQ的通知窗口),NetworkStub A,多语言切换,定时启动自动升级 定时检查每个播放 插件是否存在,检查缓冲进度,NetworkStub B,检查缓冲进度,Layer1结构,The EXE,TrackServer通讯,管理P2P连接 下载数据并存储到缓冲文件,对外接口,多语言切换,升级程序,The Updater,检查是否最新版本,下载并解压最新版本,提示用户关闭占用目标文件的进程,覆盖目标文件,安装完成,等待目标进程退出,覆盖目标文件,关闭,不关闭,多语言切换,多语言,使用类似ini

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论