websocket API是下一代客户端服务器的异步通信方法。该通信取代了单个的TCP套接字,使用ws或wss协议,可用于任意的客户端和服务器程序。Web Socket目前由W3C进行标准化。
WebSocket API最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。
WebSocket协议本质上是一个基于TCP的协议。为了建立一个 WebSocket链接,客户端浏览器首先要向服务器发起一个HTTP请求,这个请求和通常的HTTP请求不同,包含了一些附加头信息。其中附加头信息“ Upgrade: WebSocket”表明这是一个申请协议升级的HTTP请求。
服务器端解析这些附加的头信息然后产生应答信息返回给客户端,客户端和服务器端的WebSocket连接就建立起来了,双方就可以通过这个连接通道自由地传递信息,并且这个连接会持续存在直到客户端或者服务器端的某一方主动地关闭连接。
” Upgrade: Web Socket表示这是一个特殊的HTTP请求,请求的目的就是要将客户端和服务器端的通信协议从HTTP协议升级到WebSocket协议。
在实际的开发过程中,为了使用 WebSocket接口构建Web应用,首先需要构建一个实现了WebSocke规范的服务器,服务器端的实现不受平台和开发语言的限制,只需要遵从WebSocket规范即可,目前已经出现了一些比较成熟的WebSocket服务器端实现,如下。
- Kaazing WebSocket Gateway一个Java实现的Web Socket Server。
- mod pywebsocket一个 Python实现的WebSocket Server。
- Netty一个Java实现的网络框架其中包括了对 WebSocket的支持。
- node. js一个 Server端的JavaScript框架提供了对WebSocket的支持。
如果以上的WebSocket服务端实现还不能满足用户的业务需求的话,开发人员完全可以根据WebSocket规范自己实现一个服务器。
还没有评论,来说两句吧...