WebSocketFactory 1020+

接口声明

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

导入模块

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

接口定义

方法

websocketfactory.create(OBJECT)

创建 websocket 实例

参数:

参数名类型必填说明
urlString请求 url, 必须是 wss 或 ws 协议
headerObject请求头,header 中不能设置 Referer,User-Agent设置在1040版本开始支持
protocolsStringArray子协议组

返回值:

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

示例:

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

WebSocket 1020+

概述

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

方法

WebSocket.send(OBJECT)

向服务器发送数据

参数:

参数名类型必填说明
dataString | ArrayBuffer 1030+发送的消息
successFunction成功回调
failFunction失败回调

示例:

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

WebSocket.close(OBJECT)

关闭当前连接

参数:

参数名类型必填说明
codeNumber关闭链接的状态号 ,默认 1000
reasonString关闭的原因
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数

示例:

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

属性

WebSocket.onopen

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

参数:

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

示例:

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

WebSocket.onmessage

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

参数:

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

callback 参数:

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

示例:

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

WebSocket.onclose

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

参数:

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

callback 参数:

参数名类型说明
codeNumber服务器返回关闭的状态码。
reasonString服务器返回的关闭原因。
wasCleanBoolean是否正常关闭。

示例:

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

WebSocket.onerror

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

参数:

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

callback 参数:

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

示例:

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

后台运行限制

无限制。后台运行详细用法参见后台运行 脚本