总结最近学习的html5中的WebSocket部分

旧城的骁珖 发布于 2011/09/25 10:44
阅读 3K+
收藏 0

注意点: 
火狐浏览器最新的WebSocket对象是MozWebSocket,改的实在蛋疼。 opera(ver 12)浏览器最新版支持的WebSocket协议不是最新的WebSocket协议。让人不爽。

代码部分: 

var support = "MozWebSocket" in window ? 'MozWebSocket' : ( "WebSocket" in window ? 'WebSocket' : null ) ; 


或者
if ("MozWebSocket" in window) window.WebSocket=window.MozWebSocket;

服务端python版(最好的还是nodejs):
可使用autobahn库(https://github.com/oberstet/Autobahn.git),仅支持最新的WebSocket协议。 

最新的WebSocket协议有哪些变更呢:
 握手部分发生了变更:Sec-WebSocket-Key取代了原来的Sec-WebSocket-Key1和Sec-WebSocket-Key2,其Sec-WebSocket-Accept字符串通过以下方法获得 

base64.b64encode(hashlib.sha1(Sec-WebSocket-Key+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11").digest()) 

数据通信部分也有了大的修改,具体请参考相关资料。 


实例参考: http://g.perhome.cn/

附图:

加载中
0
mallon
mallon
WebSocket草案和浏览器的支持变更实在头疼,前天测试ActiveMQ就出现了问题...
0
c
centerqi
我弱弱的问一下,html5在哪些浏览器上支持呢?
其实快播挺纯洁
其实快播挺纯洁
@红薯 : 目前主要有chrome/firefox/safari/opera支持,IE9还不支持的,不过借助flash socket,95%以上浏览器理论上都可以支持的。 看看这个项目https://github.com/gimite/web-socket-js,用flash socket实现的websocket浏览器端,对于不支持websocket的ie系列还是非常实用的。
旧城的骁珖
旧城的骁珖
http://www.9465.net/archives/312.html
红薯
红薯
IE9\chrome\firefox\opera\safari
0
旧城的骁珖
旧城的骁珖

引用来自“centerqi”的答案

我弱弱的问一下,html5在哪些浏览器上支持呢?
这个基本最新的浏览器都部分支持,谷歌支持的最好。即使支持,也有不同,因为html5部分有的都是草案标准。难免会更新。比如 WebSocket协议(google说最新的草案可以用于生产环境了)
0
c
centerqi

引用来自“centerqi”的答案

我弱弱的问一下,html5在哪些浏览器上支持呢?
在手机上面还是可以尝试的,但是在pc机器上面,可阻力不小,中国还有这么多ie6用户
0
yak
yak
258EAFA5-E914-47DA-95CA-C5AB0DC85B11 这个是怎么来的?
0
yak
yak
The connection to ws://localhost:89/ was interrupted while the page was loading.
0
yak
yak
握手可以了,但是发送,接收都没有数据,这个发送的数据直接用字符串可以吗?还是必须要json编码?我看客户端是用msg.data这样读取的
返回顶部
顶部