即时通信与浏览器多TAB通信
摘要
浏览器与服务器端的即时通信技术解决了在线聊天等产品中涉及到的复杂网络环境下的问题;采用多tab通信技术来处理现代浏览器的跨页面通信,分析特定疑难问题的技术解决方案。
TAG
即时通信,多tab通信
内容
关键技术
Client-Server交互模型
分层设计
多Tab通信技术
1.多Tab中始终维持一个特立独行的Tab
2.多Tab间互相通信:支持广播、组播、单播
3.跨浏览器数据存储
4.跨域发送Http请求
利用flash的LocalConnection的唯一性保证客户端多个浏览器多个tab之间,有且只有一个页面与服务端交互,称之为server tab。
只有server tab会与Lightthy通信
当server tab接收到lightthy的消息后,从本地存储SharedObject中获取其他tab的id,然后通过LocalConnection传递给他们。
遇到的问题和解决方案
问题:
解决方案:
问题:
解决方案:
问题:
为了减少服务端压力,设计的初衷就是前端要在多个浏览器窗口中挑出一个独特的窗口来发起listen。Server Tab的概念保证了前端能生成一个唯一的独特窗口,用于发起listen。实现原理是利用LocalConnection的connect name唯一性,并用轮询connect来保证只要原来发起listen的窗口一旦断掉,即能自动重新挑选一个窗口来作为Server Tab,并发起listen。但是我们仍然遇到了外壳浏览器下面一些诡异的问题,窗口被缓存成假死状态。导致这个机制不能很好的运行下去。
解决方案:
下面是一个窗口打开后,在本地注册的流程
建议继续学习:
- 浏览器的工作原理:新式网络浏览器幕后揭秘 (阅读:19211)
- 浅析http协议、cookies和session机制、浏览器缓存 (阅读:15468)
- 从输入 URL 到页面加载完成的过程中都发生了什么事情? (阅读:14218)
- 程序员眼里IE浏览器是什么样的 (阅读:6595)
- 浏览器的渲染原理简介 (阅读:6131)
- 各种浏览器审查、监听http头工具介绍 (阅读:6011)
- 图说浏览器战争:火狐、微软、谷歌那些事 (阅读:5823)
- 浏览器缓存机制 (阅读:5614)
- websocket 通信协议 (阅读:5273)
- [译]Google Chrome中的高性能网络 (阅读:4846)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:editor 来源: 搜索研发部官方博客
- 标签: TAB 即时通信 浏览器 通信
- 发布时间:2011-06-24 12:21:13
- [18] [译]Google Chrome中的高性能网
- [17] Go Reflect 性能
- [16] Linux常用系统信息查看命令
- [16] 关于Linux的文件系统cache
- [16] 在FreeNAS/BSD搭建基于Nginx+
- [15] 最近总结的一些技巧(vim,python,s
- [11] PHP加速器 eaccelerator 缓存
- [9] base64_encode 和 urlenc
- [9] Linux(Ubuntu 10.04)上安装
- [9] 精于图片处理的10款jQuery插件