• webSocket
  • API
    • WebSocket
      • WebSocket(url, protocol)
  • send
    • send(data)
  • close
    • close(code, reason)
  • onopen
    • onopen(options)
  • onmessage
    • onmessage(options)
  • onclose
    • onclose(options)
  • onerror
    • onerror(options)

    webSocket

    webSockets 是一种创建持久性的连接,并进行双向数据传输的 HTTP 通信协议。Weex 提供了 webSockets 模块方便用户在 H5/iOS/Android 环境下与服务端创建 webSockets 链接进行通信。

    warning 注意h5 提供 WebSockets 的 protocol 默认实现,iOS 和 Android 需要自定义实现,Android 可参考:

    • DefaultWebSocketAdapter.java
    • DefaultWebSocketAdapterFactory.java
    • 集成例子参考 weex playground

    API

    WebSocket

    创建 WebSockets,并连接服务器。

    WebSocket(url, protocol)

    • @url, string, 表示要连接的 URL
    • @protocol, string, WebSockets 协议名字字符串
    1. const ws = weex.requireModule('webSocket');
    2. ws.WebSocket('ws://echo.websocket.org','');

    send

    通过 WebSockets 连接向服务器发送数据。

    send(data)

    • @data, string, 要发送到服务器的数据
    1. const ws = weex.requireModule('webSocket');
    2. ws.WebSocket('ws://echo.websocket.org','');
    3. ws.send('some message.');

    close

    关闭 WebSockets 的链接。

    close(code, reason)

    • @code, number, 关闭连接的状态号
    • @reason, string, 关闭的原因
    1. const ws = weex.requireModule('webSocket');
    2. ws.WebSocket('ws://echo.websocket.org','');
    3. ws.close();

    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, 监听器接收的到的消息
    1. const ws = weex.requireModule('webSocket')
    2. ws.WebSocket('ws://echo.websocket.org','');
    3. ws.onmessage(function(event) {
    4. console.log('onmessage', event);
    5. });

    onclose

    一个用于连接关闭事件的事件监听器,当连接关闭时触发。onclose 接受一个函数作为 EventListener,这个监听器会接受一个 type 为 “close” 的事件对象。

    onclose(options)

    • @options, object
      • code, number, 服务器返回关闭的状态码
      • reason, string, 服务器返回的关闭原因
      • wasClean, boolen, 是否完全关闭
    1. const ws = weex.requireModule('webSocket')
    2. ws.WebSocket('ws://echo.websocket.org','');
    3. ws.onclose(function(event) {
    4. console.log('onclose', event);
    5. });

    onerror

    一个用于 error 事件的事件监听器,当错误发生时触发。onerror 接受一个函数作为 EventListener,这个监听器会接受一个 type 为 “error” 的事件对象。

    onerror(options)

    • @options, object
      • data, string, 监听器接收的到的消息
    1. const ws = weex.requireModule('webSocket')
    2. ws.WebSocket('ws://echo.websocket.org','');
    3. ws.onerror(function(event) {
    4. console.log('onerror', event);
    5. });

    Demos

    • 事件示例
    • 聊天窗口,webSockets 常用于在线聊天等实时通信场景。