*输入标题:
*输入内容:
关闭
*用户名:
*密码:
自动登录  忘记密码
使用其他方式登录:
微信账号登录
微博账号登录
关闭

websocket技术

Websocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chrome12就已经开始支持,随着协议草案的不断变化,各个浏览器对协议的实现也在不停的更新。该协议还是草案,没有成为标准,不过成为标准应该只是时间问题了,从WebSocket草案的提出到现在已经有十几个版本了,目前最新的是版本17,所对应的协议版本号为13,目前对该协议支持最完善的浏览器应该是chrome,毕竟WebSocket协议草案也是Google发布的。

在浏览器中通过http仅能实现单向的通信,comet可以一定程度上模拟双向通信,但效率较低,并需要服务器有较好的支持; flash中的socket和xmlsocket可以实现真正的双向通信,通过 flex ajax bridge,可以在javascript中使用这两项功能. 可以预见,如果websocket一旦在浏览器中得到实现,将会替代上面两项技术,得到广泛的使用.面对这种状况,HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽并达到实时通讯。 在JavaEE7中也实现了WebSocket协议。
在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” (handshaking)。 PS1:握手协议在后期的版本中,会标明版本编号,下面的例子属于早期的协定之一,对于新版的 chrome 和 Firefox 皆不适用。 PS2:后期的版本大多属于功能上的扩充,例如使用第7版的握手协议同样也适用于第8版的握手协议。 例子: 浏览器请求 GET /demo HTTP/1.1 Host: 你的网址.com Connection: Upgrade Sec-WebSocket-Key2: 12998 5 Y3 1 .P00 Upgrade: WebSocket Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5 Origin: http://你的网址.com ^n:ds[4U //2010年之后的新版本websocket协议的Sec-WebSocket-Key只有一个,新的浏览只支持一个的,google的phpwebsocket用的是之前的协议所以不能直接运行通过,现在有个新版本是基于这个协议的是php-websocket-server-1 服务器回应 HTTP/1.1 101 WebSocket Protocol Handshake Upgrade: WebSocket Connection: Upgrade Sec-WebSocket-Origin: http://你的网址.com Sec-WebSocket-Location: ws://你的网址.com/demo Sec-WebSocket-Protocol: sample 8jKS’y:G*Co,Wxa-

我要提问
  • websocket能否取代ajax吗?     回答数(

    在网页聊天方面,websocket的优势是十分明显的,但取代ajax还不到时候

    我来回答
  • 就是学不会啊啊啊     回答数(

    急有蛋用!!

    我来回答
  • websocket和ajax的区别     回答数(

    反向ajax技术,避免了长轮询带来的带宽浪费。

    我来回答

粤ICP备14090940号-2深圳市微我科技有限公司版权所有