首页 > 代码库 > Jetty开发指导:WebSocket介绍

Jetty开发指导:WebSocket介绍

WebSocket是一个新的基于HTTP的双向通讯的协议。
它是基于低级别的框架协议,使用UTF-8 TEXT或者BINARY格式传递信息。
在WebSocket中的单个信息可以是任何长度(然而底层框架有单帧63bits的限制)。
发送的信息数量不受限制。
信息被持续的发送,基础协议不支持交叉的信息。
一个WebSocket连接经历一些基本的状态改变:
 1)CONNECTING:HTTP升级到WebSocket正在进行中
 2)OPEN:HTTP升级成功,并且socket现在打开并准备读/写
 3)CLOSING:WebSocket Close Handshake正在进行
 4)CLOSED:WebSocket已经被关闭,不能进行更多的读/写
当一个WebSocket被关闭,一个状态码和简短的原因字符串被提供。

Jetty提供了什么

Jetty提供了一个下面的标准和规范的实现。

        RFC-6455

                WebSocket协议
                我们支持最终发布的规范,版本号13.
                Jetty使用autobahn testsuite测试它的WebSocket协议实现。

        JSR-356

                Java WebSocket API(javax.websocket)
                这是官方提供的Java API。

不稳定的标准和规范:

        perframe-compression

        permessage-compression

WebSocket APIs

提供的API和库,为了使用Jetty实现你的WebSocket。包括:
 1)Jetty WebSocket API
 2)Jetty WebSocket Server API
 3)Jetty WebSocket Client API
 4)Java WebSocket Client API
 5)Java WebSocket Server API
这些我们都将在后面详细讲述。