首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Google Chrome现下支持Web Sockets了

2012-10-29 
Google Chrome现在支持Web Sockets了Web Sockets Now Available In Google Chrome?从Chrome 4.0.249.0开始

Google Chrome现在支持Web Sockets了

Web Sockets Now Available In Google Chrome?

从Chrome 4.0.249.0开始支持Web Sockets,而且缺省设置为开启。Web Socket是Web上的TCP,为Web应用提供双向通信的下一代技术,是Web Applications 1.0标准的一部分。?

Web Sockets要比现在广泛使用的XMLHttpRequest简单,通过XHR进行双向通信需要一些特别的技巧(例如长连接,轮询等),而Web Sockets为浏览器提供了真正的双向通信通道。一旦得到一个Web Socket连接,调用 send()方法就可以直接从浏览器发送数据到服务器,同时浏览器通过一个onmessage事件处理函数接收从服务器传来的数据。一个简单的例子:?

?

Javascript代码?

?

if ("WebSocket" in window) { ? ??

var ws = new WebSocket("ws://example.com/service"); ? ??

?? ?ws.onopen = function() { ? ??

// Web Socket is connected. You can send data by send() method. ??

?? ? ?ws.send("message to send"); .... ? ??

?? ?}; ? ??

?? ?ws.onmessage = function (evt) { var received_msg = evt.data; ... }; ? ??

?? ?ws.onclose = function() { // websocket is closed. }; ??

} else { ? ??

// the browser doesn't support WebSocket. ??

} ??

if ("WebSocket" in window) { ?

?? ?var ws = new WebSocket("ws://example.com/service"); ?

?? ?ws.onopen = function() { ?

?? ? ?// Web Socket is connected. You can send data by send() method. ?

?? ? ?ws.send("message to send"); .... ?

?? ?}; ?

?? ?ws.onmessage = function (evt) { var received_msg = evt.data; ... }; ?

?? ?ws.onclose = function() { // websocket is closed. }; ?

} else { ?

?? ?// the browser doesn't support WebSocket. ?

}?

除了新的Web Socket API,浏览器使用新的web socket协议与服务器通信,该协议不是原始的TCP(因为它需要提供与浏览器来源相同的安全模型),也不是HTTP(因为它不同于HTTP的请求-响应模型)。与XHR不同的还有,该协议使用更少的带宽,(与HTTP相比,一旦连接建立,不需要再有消息头数据的交换)?

要使用Web Socket(包括新的API,新的协议,更简单的编程模型,更高效的网络通信),我们还需要一个新的服务器实现,已有pywebsocket提供支持了,它能作为Apache扩展模块使用,也可以作为一个独立的服务器运行。?

现在,至少可以通过Google Chrome和pywebsocket开始基于Web Socket的Web应用开发了。?

不过Web Socket的协议还没有完全定稿,在IETF上仍在讨论。?

Flash也实现了WebSockets的支持,因此实际上IE上也能使用,尽管是非原生支持。这里有个项目使其它浏览器通过Flash实现Web Socket的支持

?

?

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ago52030/archive/2009/12/12/4992363.aspx

热点排行