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提供了一个以下的标准和规范的实现。
WebSocket协议
我们支持终于公布的规范,版本13.
Jetty使用autobahn testsuite測试它的WebSocket协议实现。
Java WebSocket API(javax.websocket)
这是官方提供的Java API。
不稳定的标准和规范:
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
这些我们都将在后面具体讲述。