webSocket
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 协议名字字符串
- const ws = weex.requireModule('webSocket');
- ws.WebSocket('ws://echo.websocket.org','');
- const ws = weex.requireModule('webSocket');
send
通过 WebSockets 连接向服务器发送数据。
send(data)
-
@data , string, 要发送到服务器的数据
- const ws = weex.requireModule('webSocket');
- ws.WebSocket('ws://echo.websocket.org','');
- ws.send('some message.');
- const ws = weex.requireModule('webSocket');
close
关闭 WebSockets 的链接。
close(code, reason)
- @code , number, 关闭连接的状态号
-
@reason , string, 关闭的原因
- const ws = weex.requireModule('webSocket');
- ws.WebSocket('ws://echo.websocket.org','');
- ws.close();
- const ws = weex.requireModule('webSocket');
onopen
一个用于连接打开事件的事件监听器,该事件表明这个连接已经准备好接受和发送数据。onopen 接受一个函数作为 EventListener,这个监听器会接受一个 type 为 "open" 的事件对象。
onopen(options)
标准 event 对象,无特殊属性。 1. const ws = weex.requireModule('webSocket') 2. ws.WebSocket('ws://echo.websocket.org',''); 3. ws.onopen = function(event) { 4. console.log('onopen', event); 5. }
onmessage
一个用于消息事件的事件监听器,当有消息到达的时触发。onmessage 接受一个函数作为 EventListener,这个监听器会接受一个 type 为 "message" 的事件对象。
onmessage(options)
-
@options , object.
-
data, string, 监听器接收的到的消息 -
const ws = weex.requireModule('webSocket')
- ws.WebSocket('ws://echo.websocket.org','');
- ws.onmessage = function(event) {
- console.log('onmessage', event);
- }
-
onclose
一个用于连接关闭事件的事件监听器,当连接关闭时触发。onclose 接受一个函数作为 EventListener,这个监听器会接受一个 type 为 "close" 的事件对象。
onclose(options)
-
@options , object
code, number, 服务器返回关闭的状态码reason, string, 服务器返回的关闭原因-
wasClean, boolen, 是否完全关闭 -
const ws = weex.requireModule('webSocket')
- ws.WebSocket('ws://echo.websocket.org','');
- ws.onclose = function(event) {
- console.log('onclose', event);
- }
onerror
一个用于 error 事件的事件监听器,当错误发生时触发。onerror 接受一个函数作为 EventListener,这个监听器会接受一个 type 为 "error" 的事件对象。
onerror(options)
-
@options , object
-
data, string, 监听器接收的到的消息 -
const ws = weex.requireModule('webSocket')
- ws.WebSocket('ws://echo.websocket.org','');
- ws.onerror = function(event) {
- console.log('onerror', event);
- }
-
Demos
* 事件示例
* 聊天窗口
,webSockets 常用于在线聊天等实时通信场景。
