# WebSocketFactory

# 接口声明

{ "name": "system.websocketfactory" }
1

# 导入模块

import websocketfactory from '@system.websocketfactory'const websocketfactory = require('@system.websocketfactory')
1

# 接口定义

# 方法

# websocketfactory.create(OBJECT)

创建 websocket 实例

# 参数:

参数名 类型 必填 说明
url String 请求 url, 必须是 wss 或 ws 协议
header Object 请求头,header 中不能设置 Referer
protocols StringArray 子协议组

# 返回值:

类型 描述
WebSocket 返回一个 WebSocket 对象,请参考 WebSocket 对象

# 示例:

ws = websocketfactory.create({
  url: 'ws://test:8088',
  header: {
    'content-type': 'application/json'
  },
  protocols: ['protocol']
})
1
2
3
4
5
6
7

# WebSocket

WebSocket 对象提供了用于创建和管理 WebSocket 连接,以及可以通过该连接发送和接收数据的 API。

# 方法

# WebSocket.send(OBJECT)

向服务器发送数据

# 参数:

参数名 类型 必填 说明
data String | ArrayBuffer 发送的消息
success Function 成功回调
fail Function 失败回调

# 示例:

ws.send({
  data: 'send message',
  success: function() {
    console.log(`send success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})
1
2
3
4
5
6
7
8
9

# WebSocket.close(OBJECT)

关闭当前连接

# 参数:

参数名 类型 必填 说明
code Number 关闭链接的状态号 ,默认 1000
reason String 关闭的原因
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数

# 示例:

ws.close({
  code: 1000,
  reason: 'close as normal',
  success: function() {
    console.log(`close success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})
1
2
3
4
5
6
7
8
9
10

# 属性

# WebSocket.onopen

用于指定连接成功后的回调函数

# 参数:

参数名 类型 必填 说明
callback Function 打开连接回调

# 示例:

ws.onopen = function() {
  console.log(`connect open`)
}
1
2
3

# WebSocket.onmessage

用于指定当从服务器接受到信息时的回调函数

# 参数:

参数名 类型 必填 说明
callback Function 服务器返回消息事件回调

# callback 参数:

参数名 类型 说明
data String | ArrayBuffer 监听器接收到的消息, 消息类型与发送类型一致

# 示例:

ws.onmessage = function(data) {
  console.log(`message is ${data.data}`)
}
1
2
3

# WebSocket.onclose

用于指定连接关闭后的回调函数

# 参数:

参数名 类型 必填 说明
callback Function 关闭连接事件回调。

# callback 参数:

参数名 类型 说明
code Number 服务器返回关闭的状态码。
reason String 服务器返回的关闭原因。
wasClean Boolean 是否正常关闭。

# 示例:

ws.onclose = function(data) {
  console.log(
    `onclose:data.code = ${data.code}, data.reason = ${
      data.reason
    }, data.wasClean = ${data.wasClean}`
  )
}
1
2
3
4
5
6
7

# WebSocket.onerror

用于指定连接失败后的回调函数

# 参数:

参数名 类型 必填 说明
callback Function 连接错误回调

# callback 参数:

参数名 类型 说明
data String 监听器接收到的消息。

# 示例:

ws.onerror = function(data) {
  console.log(`onerror data.data = ${data.data}`)
}
1
2
3