日期:2014-05-17  浏览次数:20611 次

怎么解析这个协议
Connection:Upgrade
Host:localhost:7777
Origin:null
Sec-WebSocket-Key:fXNUtvW3YUVjwrgbtA9KLQ==
Sec-WebSocket-Version:13
Upgrade:websocket
(Key3):00:00:00:00:00:00:00:00

------解决方案--------------------
WebSocket 是HTML5一种新的协议。它是实现了浏览器与服务器的双向通讯。

优点

Header
服务器与客户端之间交换的标头信息很小,大概只有2字节。
ю===服务器
推送===
服务器可以主动传送数据给客户端。

实现websocket的协议,浏览器扮演着一个很重要的角色。Google在它的Google Chrome支持了websocket,Chrome 5 之后的版本都支持websocket,但因为websocket还未最终版本,草案不断更新,所以不同的版本会支持不同的草案。
苹果公司的Safari浏览器也支持websocket。(iPhone4上的safari使用的WebSocket是旧版的握手协议,可以使用本页的握手协议来制做服务器端)
起初,Mozilla基金会的Mozilla Firefox会在4版本支持websocket。Opera软件公司方面在Opera 10.7和11.0的预览版本中也支持了websocket。然而,基于安全因素的考虑[1],两家宣布将暂时移除该功能。
FireFox预计于版本6重新实现WebSockets RFC Version -07 ,但此版本实现并不向后兼容,故旧版本的服务器实现软件有可能无法顺利运行。版本6之中的WebSocket功能将会默认打开[2]。
PS: 在FireFox6的版本里,WebSocket 被更名为 MozWebSocket,但是该 class 的成员与用法皆与 WebSocket 相同。


在服务器方面,网上都有不同对websocket支持的服务器:
php - http://code.google.com/p/phpwebsocket/
jetty - http://jetty.codehaus.org/jetty/ (版本7才开始支持websocket)
netty - http://www.jboss.org/netty
ruby - http://github.com/gimite/web-socket-ruby
Kaazing - http://www.kaazing.org/confluence/display/KAAZING/Home


参考网站
^ http://hacks.mozilla.org/2010/12/websockets-disabled-in-firefox-4/
^ https://developer.mozilla.org/en/WebSockets/