webSockets
是一种创建持久性的连接,并进行双向数据传输的 HTTP 通信协议。Weex 提供了 webSockets
模块方便用户在 H5/iOS/Android 环境下与服务端创建 webSockets 链接进行通信。
注意
h5 提供 WebSockets 的 protocol 默认实现,iOS 和 Android 需要自定义实现,Android 可参考:
- DefaultWebSocketAdapter.java
- DefaultWebSocketAdapterFactory.java
- 集成例子参考 weex playground
# # API
## # WebSocket
创建 WebSockets,并连接服务器。
#### # WebSocket(url, protocol)
- @url, string, 表示要连接的 URL
- @protocol, string, WebSockets 协议名字字符串
## # send 通过 WebSockets 连接向服务器发送数据。 #### # send(data) - @data, string, 要发送到服务器的数据
const ws = app.requireModule('webSocket');
ws.WebSocket('ws://echo.websocket.org','');
## # close 关闭 WebSockets 的链接。 #### # close(code, reason) - @code, number, 关闭连接的状态号 - @reason, string, 关闭的原因
const ws = app.requireModule('webSocket');
ws.WebSocket('ws://echo.websocket.org','');
ws.send('some message.');
## # onopen 一个用于连接打开事件的事件监听器,该事件表明这个连接已经准备好接受和发送数据。
const ws = app.requireModule('webSocket');
ws.WebSocket('ws://echo.websocket.org','');
ws.close();
onopen
接受一个函数作为 EventListener,这个监听器会接受一个 type
为 "open" 的事件对象。
#### # onopen(options)
标准 event 对象,无特殊属性。
## # onmessage 一个用于消息事件的事件监听器,当有消息到达的时触发。
const ws = app.requireModule('webSocket')
ws.WebSocket('ws://echo.websocket.org','');
ws.onopen = function(event) {
console.log('onopen', event);
}
onmessage
接受一个函数作为 EventListener,这个监听器会接受一个 type
为 "message" 的事件对象。
#### # onmessage(options)
- @options, object.
- data
, string, 监听器接收的到的消息
## # onclose 一个用于连接关闭事件的事件监听器,当连接关闭时触发。
const ws = app.requireModule('webSocket')
ws.WebSocket('ws://echo.websocket.org','');
ws.onmessage = function(event) {
console.log('onmessage', event);
}
onclose
接受一个函数作为 EventListener,这个监听器会接受一个 type
为 "close" 的事件对象。
#### # onclose(options)
- @options, object
- code
, number, 服务器返回关闭的状态码
- reason
, string, 服务器返回的关闭原因
- wasClean
, boolen, 是否完全关闭
## # onerror 一个用于 error 事件的事件监听器,当错误发生时触发。
const ws = app.requireModule('webSocket')
ws.WebSocket('ws://echo.websocket.org','');
ws.onclose = function(event) {
console.log('onclose', event);
}
onerror
接受一个函数作为 EventListener,这个监听器会接受一个 type
为 "error" 的事件对象。
#### # onerror(options)
- @options, object
- data
, string, 监听器接收的到的消息
Demos - 事件示例 - 聊天窗口 ,webSockets 常用于在线聊天等实时通信场景。 在 GitHub 上编辑此页
const ws = app.requireModule('webSocket')
ws.WebSocket('ws://echo.websocket.org','');
ws.onerror = function(event) {
console.log('onerror', event);
}
最后一次更新: 6/7/2019, 8:03:58 AM