Webscoket 核心
Webscoket 核心
是什么
一种服务端/浏览器端双向推送技术
为什么
因为 HTTP 协议有一个缺陷:通信只能由客户端发起
怎么用
构造函数(返回一个 WebSocket 对象)
1 | WebSocket(url[, protocols]) |
| Constant | Value |
|---|---|
| WebSocket.CONNECTING | 0 |
| WebSocket.OPEN | 1 |
| WebSocket.CLOSING | 2 |
| WebSocket.CLOSED | 3 |
| 属性 | 解释 |
|---|---|
| binaryType | 使用二进制的数据类型连接。 |
| bufferedAmount | 只读 未发送至服务器的字节数。 |
| extensions | 只读 服务器选择的扩展。 |
| onclose | 用于指定连接关闭后的回调函数。 |
| onerror | 用于指定连接失败后的回调函数。 |
| onmessage | 用于指定当从服务器接受到信息时的回调函数。 |
| onopen | 用于指定连接成功后的回调函数。 |
| protocol | 只读 服务器选择的下属协议。 |
| readyState | 只读 当前的链接状态。 |
| url | 只读 WebSocket 的绝对路径。 |
| 方法 | 解释 |
|---|---|
| close([code[, reason]]) | 关闭当前链接。 |
| send(data) | 对要传输的数据进行排队。 |
使用 addEventListener() 或将一个事件监听器赋值给本接口的 on
| 事件 | 解释 |
|---|---|
| close | 当一个 WebSocket 连接被关闭时触发。 |
| error | 当一个 WebSocket 连接因错误而关闭时触发,例如无法发送数据时。 |
| message | 当通过 WebSocket 收到数据时触发。 |
| open | 当一个 WebSocket 连接成功时触发。 |
客户端
1 | var ws = new WebSocket("wss://echo.websocket.org"); |
服务端
STOMP
WebSocket协议定义了两种类型的消息,即文本和二进制,但它们的内容却没有定义。该协议定义了一种机制,供客户端和服务器协商子协议–即更高级别的消息传输协议,在WebSocket之上使用,以定义各自可以发送何种消息、每种消息的格式和内容,等等。子协议的使用是可选的,但无论如何,客户和服务器都需要就定义消息内容的一些协议达成一致。
STOMP是一个基于帧的协议,其帧是以HTTP为模型。一个STOMP帧的结构:
COMMAND
header1:value1
header2:value2
Body^@
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 QUANWEI!




