每天学点HTML5——WebSocket(1)

介绍(来自百度百科- -!)

  WebSocket protocol 是HTML5一种新的协议(protocol)。它是实现了浏览器与服务器全双工通信(full-duplex)。

  现在,很多网站为了实现即时通讯(real-time),所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(time interval)(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request d的模式带来很明显的缺点 – 浏览器需要不断的向服务器发出请求(request),然而HTTP request 的header是非常长的,里面包含的数据可能只是一个很小的值,这样会占用很多的带宽。

  而最比较新的技术去做轮询的效果是Comet – 用了AJAX。但这种技术虽然可达到全双工通信,但依然需要发出请求(reuqest)。

  在 WebSocket API,浏览器和服务器只需要要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。在此WebSocket 协议中,为我们实现即使服务带来了两大好处:

  1. Header

  互相沟通的Header是很小的-大概只有 2 Bytes

  2. Server Push

  服务器可以主动传送数据给客户端

首先检测流浪器支持

<html>
<div id="support"></div>
<script type="text/javascript">
    if(window.WebSocket){
        document.getElementById("support").innerHTML = "支持";
        }
    else{
        document.getElementById("support").innerHTML = "不支持";
        }
</script>
<body>
<input type="button" id=enter value="con" onClick="ws.onopen;">
</body>
</html>

亲测最新版Chrome和IE10支持,今天就到这吧~~

posted @ 2013-01-07 20:33  放肆图灵  阅读(221)  评论(0)    收藏  举报