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
分享到:
相关推荐
8. **Web Workers和Web Sockets**:前者用于后台处理,提高网页性能;后者则提供持久性的双向通信,实现实时应用。 CSS3是CSS的最新版本,提供了更多强大的样式控制和布局方式,包括: 1. **选择器增强**:如nth-...
WebSocket protocol is currently supported in several browsers including Google Chrome, Internet Explorer, Firefox, Safari and Opera. WebSocket also requires web applications on the server to support ...
适用于OSX的Google Chrome浏览器41.0.2272.104(64位) 用法: 1.flush_chrome_sockets.applescript用于解决由于使用套接字池的Chrome修改了主机文件后,Chrome无法使用正确的主机的问题。 chmod 755 flush_...
Chrome OS强调云服务,如Google Cloud Printer、Google Docs、Chromoting远程连接、Google Drive云存储以及Google File Manager等。 综上所述,HTML5不仅改变了Web开发的方式,而且正在推动WebOS的发展,使得基于...
WebKit是一种开源的网页渲染引擎,被广泛用于许多现代浏览器中,如Apple的Safari和Google的Chrome。它负责解析HTML、CSS、JavaScript等Web标准,并将这些内容转换为用户在屏幕上看到的交互式界面。WebKit的强大之处...
- **Google Chrome**:全面支持HTML5特性。 - **Mozilla Firefox**:不断更新以保持最佳兼容性。 - **Opera**:支持大部分HTML5特性。 - **Apple Safari**:支持HTML5,尤其是多媒体特性。 - **Internet Explorer**...
为了获得最佳体验,推荐使用最新版本的Google Chrome浏览器。 #### 四、结语 HTML5的新特性极大地丰富了Web开发的功能,提高了用户体验。通过上述介绍,我们可以看到HTML5的强大之处不仅仅在于它的新标签和API,更...
Express是Node.js中最流行的web应用框架,它简化了构建web服务器的过程。Express提供了许多便利的功能,如路由处理、中间件系统、视图系统等,使得开发RESTful API变得更加容易。 ### Fortnite API Fortnite API...
PhoneGap提供了模拟器和实时同步工具,如Chrome的开发者工具、Weinre(Web Inspector Remote)等,帮助开发者在桌面浏览器上调试应用,并通过USB连接真机进行实时测试。 7. **应用商店发布** 开发完成后,...
Google在Web开发领域扮演着重要角色,其Chrome浏览器广泛使用,并且提供了强大的开发者工具,如元素检查、性能分析、网络请求监控等,帮助开发者调试和优化网页。Google还推动了Web标准的发展,例如Web Components...
1. **SSL/TLS协议**:SSL(Secure Sockets Layer)是HTTPS的基础,现在已经由更新更安全的TLS(Transport Layer Security)协议取代。它们通过交换公钥和私钥实现数据加密,确保信息在传输过程中不被窃取或篡改。 2...
V8是Google开发的一款高性能JavaScript和WebAssembly虚拟机,它被广泛应用于Chrome浏览器以及Node.js等项目中。 【描述】"基于v8的javascript服务器端开发包"指的是Node.js,它是一个开放源代码、跨平台的...
这是一个Chrome浏览器扩展的CRX文件,它是谷歌Chrome浏览器用来打包和分发扩展的格式。CRX文件包含了扩展的所有代码、资源和元数据,用户可以通过拖放或者手动安装到浏览器上来启用该扩展。 总的来说,KiViHealth-...
Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它以其异步、事件驱动的特性,使得它在处理高并发I/O操作时表现出色,特别适合构建实时的、互动性强的服务,如聊天服务器。 ### Node.js基础 1. **非阻塞I/O...
Passport支持多种策略,如OAuth、JWT(JSON Web Tokens)等,允许开发者创建安全的登录系统。 3. **分页**: 在处理大量数据时,分页是一种有效的优化方法,可以避免一次性加载所有数据导致的性能问题。在Node.js...