CS结合BS, 手机浏览器+播放器方案研究与实践

作者: 刘方青  2010- 05 - 01

一. CS- BS模式

  CS即Client-Server模式, 客户端与服务器通过自定义协议或者http协议通讯,CS模式的优点是可以灵活实现各种功能和特效, 缺点是很多功能新增, 界面调整,逻辑变更一般都要更新客户端,比较麻烦。 像手机杀毒,来电通就是CS模式。

  BS即Browser- Client模式,比如各类手机网站。 手机浏览器则是手机上BS模式的承载体,实现了与Browser相关的http协议和wml,html解析渲染。 BS模式的优点是可灵活实现界面调整,内容更新和逻辑变更,缺点是很多特效和功能无法实现。

  综合考虑灵活性和实现效果, 很多客户端会考虑CS和BS结合的模式, 比如手机QQ和MSN上,IM部分是CS模式,新闻资讯则是BS模式。

 二. Browser/Player的实现和整合

   考虑到需求是一个简易的浏览器, 就不考虑S60 WEBKIT这样的庞然大物了。系统浏览器接口CBrCtlInterface又太简陋, htmlcontrol是唯一选择。 s60 htmlcontrol是一个开源的轻量级浏览器控件。非常佩服ytom大大和其他开源成员的工作, htmlcontrol的功能很强大,在s60 3rd/5th, winscw/gcce/armv5下对大部分wml和html页面都能做正确的解析。 具体使用方法可以到htmlcontrol提供的一些example。

   用webclient实现http下载, 调用htmlcontrol对下载的网页数据做解析和渲染。 还实现了简单的界面跳转,和返回上一页的功能。对图片的解析暂时先不加了。

   在void CWebClientAppUi::HandleHtmlCtlEventL(const THtmlCtlEvent& aEvent)函数调用aEvent.iElement->GetProperty(KHStrHref, href) 可获取到用户点击的链接地址, 如果是rtsp://前缀就触发player去播放, http://前缀就去解析网页。

三. 应用场景

   原先视频播放器就是纯粹的CS模式, 用户要观看新的地址需要自己输入地址, 要获取服务器的更新内容基本不可能,除非在server端写一个socket服务器与客户端做数据交互。 现在有浏览器就方便了, 只需要更新server的网页内容, 客户端就能同步更新并随意观看。

   对于手机视频监控和视频直播点播等应用来说, 浏览器+播放器是常见的实现模式。 以下是5530上实现网页解析和视频播放的效果。

CS结合BS, 手机浏览器+播放器方案研究与实践      CS结合BS, 手机浏览器+播放器方案研究与实践            CS结合BS, 手机浏览器+播放器方案研究与实践

CS结合BS, 手机浏览器+播放器方案研究与实践       CS结合BS, 手机浏览器+播放器方案研究与实践            CS结合BS, 手机浏览器+播放器方案研究与实践

你可能感兴趣的:(应用服务器,浏览器,qq,webkit,资讯)