Google Chrome现在支持Web Sockets了

[url=http://blog.chromium.org/2009/12/web-sockets-now-available-in-google.html]Web Sockets Now Available In Google Chrome[/url]
从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事件处理函数接收从服务器传来的数据。一个简单的例子:

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,浏览器使用新的[url=http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-55]web socket协议[/url]与服务器通信,该协议不是原始的TCP(因为它需要提供与浏览器来源相同的安全模型),也不是HTTP(因为它不同于HTTP的请求-响应模型)。与XHR不同的还有,该协议使用更少的带宽,(与HTTP相比,一旦连接建立,不需要再有消息头数据的交换)

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

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

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

Flash也实现了WebSockets的支持,因此实际上IE上也能使用,尽管是非原生支持。[url=http://github.com/gimite/web-socket-js]这里[/url]有个项目使其它浏览器通过Flash实现Web Socket的支持
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值