webSockets

来源:互联网 发布:红旗linux系统下载 编辑:程序博客网 时间:2024/04/29 10:37

websockets

websockets详解
HTML5 Web Sockets规范定义了Web Sockets API,支持页面使用Web Socket协议与远程主机进行全双工的通信。它引入了WebSocket接口并且定义了一个全双工的通信通道,通过一个单一的套接字在Web上进行操作。HTML5 Web Sockets以最小的开销高效地提供了Web连接。相较于经常需要使用推送实时数据到客户端甚至通过维护两个HTTP连接来模拟全双工连接的旧的轮询或长轮询(Comet)来说,这就极大的减少了不必要的网络流量与延迟。
要使用HTML5 Web Sockets从一个Web客户端连接到一个远程端点,你要创建一个新的WebSocket实例并为之提供一个URL来表示你想要连接到的远程端点。该规范定义了ws://以及wss://模式来分别表示WebSocket和安全WebSocket连接。一个WebSocket连接是在客户端与服务器之间HTTP协议的初始握手阶段将其升级到Web Socket协议来建立的,其底层仍是TCP/IP连接。

HTML5 Web Sockets使用HTTP Upgrade机制升级到Web Socket协议。HTML5 Web Sockets有着兼容HTTP的握手机制,因此HTTP服务器可以与WebSocket服务器共享默认的HTTP与HTTPS端(80和443)。要建立一个WebSocket连接,客户端和服务器在初次握手的时候从HTTP协议提升到Web Socket协议,如例1所展示的。一旦连接建立,WebSocket数据帧就可以以全双工的模式在客户端和服务器之间来回传输。

websocket库—–socket.io

  • socket.io一个是基于Nodejs架构体系的,支持websocket的协议用于时时通信的一个软件包。socket.io 给跨浏览器构建实时应用提供了完整的封装,socket.io完全由javascript实现。
  • socket.io是一个websocket库,包括了客户端的js和服务器端的nodejs,他的目标是构建可以在不同浏览器和移动设备上使用的实时应用。它会自动根据浏览器从websocket,ajax查询、iframe流等等各种方式中选择最佳的方式实现网络实时应用,非常人性化,而且支持的浏览器最低达IE5.5,基本满足大部分需求。
    socket.io官网
    三个小demo
0 0