即时通信与浏览器多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。但是我们仍然遇到了外壳浏览器下面一些诡异的问题,窗口被缓存成假死状态。导致这个机制不能很好的运行下去。
解决方案:
下面是一个窗口打开后,在本地注册的流程

建议继续学习:
- 浏览器的工作原理:新式网络浏览器幕后揭秘 (阅读:20875)
- 浅析http协议、cookies和session机制、浏览器缓存 (阅读:16708)
- 从输入 URL 到页面加载完成的过程中都发生了什么事情? (阅读:15284)
- 程序员眼里IE浏览器是什么样的 (阅读:7526)
- 浏览器的渲染原理简介 (阅读:7525)
- 各种浏览器审查、监听http头工具介绍 (阅读:7235)
- 图说浏览器战争:火狐、微软、谷歌那些事 (阅读:6915)
- 浏览器缓存机制 (阅读:6601)
- [译]Google Chrome中的高性能网络 (阅读:6062)
- websocket 通信协议 (阅读:5914)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:editor 来源: 搜索研发部官方博客
- 标签: TAB 即时通信 浏览器 通信
- 发布时间:2011-06-24 12:21:13
-
[927] WordPress插件开发 -- 在插件使用 -
[133] 解决 nginx 反向代理网页首尾出现神秘字 -
[52] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 整理了一份招PHP高级工程师的面试题 -
[50] 全站换域名时利用nginx和javascri -
[50] 海量小文件存储 -
[50] 用 Jquery 模拟 select -
[49] CloudSMS:免费匿名的云短信 -
[48] Innodb分表太多或者表分区太多,会导致内 -
[47] jQuery性能优化指南
