手机
当前位置:查字典教程网 >网页设计 >应用技巧 >浅谈Web下的即时寻呼技术
浅谈Web下的即时寻呼技术
摘要:Web下(不考虑使用activex控件的那种)即时寻呼一般都是基于“拉”技术,即每隔一段时间向服务器获取最新消息,然后反映到客户端,基于“拉...

Web下(不考虑使用activex控件的那种)即时寻呼一般都是基于“拉”技术,即每隔一段时间向服务器获取最新消息,然后反映到客户端,基于“拉”技术,一般有几种形式:

frame/iframe刷新:一般是用一个隐藏的iframe/frame页面,定时刷新,从服务器获取最新消息,并执行脚本,将消息反映到客户端。

这种方法的好处是兼容性好,适用于所有支持frame和脚本的浏览器,缺点就是因为是网页直接刷新,有可能在某些机子上每次刷新都会有“吧嗒”的声音,如果浏览器状态栏可见,上面的进度条会一闪一闪的,比较烦人。例如微软最新推出的MsnWebMessenger即是基于此技术。

XmlHttp/XmlDom无刷新:这种无刷新技术一度让Web开发者亢奋不已。在客户端,XmlDom可以根据URL获取服务器端的Xml文件并返回为一个XmlDocument,而XmlHttp不仅可以获取xml和html,还可以向服务器端发送一个XmlDocument,而且,结合客户端脚本的定时器:setTimeout("Function()",TimeoutInterval),定时从服务器获取数据。

尤其要注意一点是不管是XmlDom还是XmlHttp,都有“同步”和“异步”之说,如果是“同步”,则浏览器会等到把所获取的Xml全部下载完才继续执行,如果是“异步”,则浏览器会不管它有没有下载完,直接继续下一步执行。对于Web即时寻呼,还是推荐使用“异步”方式,因为“同步”方式很可能会造成浏览器“假死”的情况,对客户来说很不友好。使用“异步”就可以避免这个问题,然后可以在onreadystatechange事件中判断是否已经加载完,然后解析消息。

这种方式的好处是对于客户来说感觉不到浏览器在刷新,缺点是必须要客户端是IE,并且安装了msxml,所以兼容性不是很好。

BTW:听说Asp.Net2.0对于这种无刷新进行了封装,可惜没试过,不知道兼容性如何:)

脚本调用WebService无刷新:WebService是个好东西,js也可以调用webserice,微软专门有一个WebService.htc,将对WebService的调用进行了封装,可以非常方便的调用,其实即使没有WebService.htc,我们也可以自己来解析,因为WebService实质也就是xml了,在客户端可以结合XmlDom来解析。然后借助定时器,也可以做到无刷新来获取服务器端消息。

这种方式的优缺点和第二种方式差不多。国外有个聊天室就是使用的这种技术。

【浅谈Web下的即时寻呼技术】相关文章:

身份证复印件的正确使用方法 身份证防被盗用

十个习惯让你精通新的开发技术

ESC键不太为人知的几个妙用

设计软件中的系统字体应用小技巧

自己动手做DVD压缩盘的方法与相关软件下载

cos-html-cache关于WordPress的静态化方法

卸载杀毒软件后启动Outlook后的出错处理

申请到Google的免费邮局

双击桌面IE图标出现打开方式的问题的解决方法

抢救你快报废的坏硬盘!(死马当活马医)

精品推荐
分类导航