快應(yīng)用 WebSocket

2020-08-10 14:10 更新

WebSocketFactory 

接口聲明

{ "name": "system.websocketfactory" }

導(dǎo)入模塊

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

接口定義

方法

websocketfactory.create(OBJECT)

創(chuàng)建 websocket 實(shí)例

參數(shù):

參數(shù)名 類型 必填 說明
url String 請(qǐng)求 url, 必須是 wss 或 ws 協(xié)議
header Object 請(qǐng)求頭,header 中不能設(shè)置 Referer,User-Agent設(shè)置在1040版本開始支持
protocols StringArray 子協(xié)議組

返回值:

類型 描述
WebSocket 返回一個(gè) WebSocket 對(duì)象,請(qǐng)參考 WebSocket 對(duì)象

示例:

ws = websocketfactory.create({
  url: 'ws://test:8088',
  header: {
    'content-type': 'application/json'
  },
  protocols: ['protocol']
})

WebSocket 

概述

WebSocket 對(duì)象提供了用于創(chuàng)建和管理 WebSocket 連接,以及可以通過該連接發(fā)送和接收數(shù)據(jù)的 API。

方法

WebSocket.send(OBJECT)

向服務(wù)器發(fā)送數(shù)據(jù)

參數(shù):

參數(shù)名 類型 必填 說明
data String | ArrayBuffer 1030+ 發(fā)送的消息
success Function 成功回調(diào)
fail Function 失敗回調(diào)

示例:

ws.send({
  data: 'send message',
  success: function() {
    console.log(`send success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

WebSocket.close(OBJECT)

關(guān)閉當(dāng)前連接

參數(shù):

參數(shù)名 類型 必填 說明
code Number 關(guān)閉鏈接的狀態(tài)號(hào) ,默認(rèn) 1000
reason String 關(guān)閉的原因
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)

示例:

ws.close({
  code: 1000,
  reason: 'close as normal',
  success: function() {
    console.log(`close success`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

屬性

WebSocket.onopen

用于指定連接成功后的回調(diào)函數(shù)

參數(shù):

參數(shù)名 類型 必填 說明
callback Function 打開連接回調(diào)

示例:

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

WebSocket.onmessage

用于指定當(dāng)從服務(wù)器接受到信息時(shí)的回調(diào)函數(shù)

參數(shù):

參數(shù)名 類型 必填 說明
callback Function 服務(wù)器返回消息事件回調(diào)

callback 參數(shù):

參數(shù)名 類型 說明
data String | ArrayBuffer 1030+ 監(jiān)聽器接收到的消息, 消息類型與發(fā)送類型一致

示例:

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

WebSocket.onclose

用于指定連接關(guān)閉后的回調(diào)函數(shù)

參數(shù):

參數(shù)名 類型 必填 說明
callback Function 關(guān)閉連接事件回調(diào)。

callback 參數(shù):

參數(shù)名 類型 說明
code Number 服務(wù)器返回關(guān)閉的狀態(tài)碼。
reason String 服務(wù)器返回的關(guān)閉原因。
wasClean Boolean 是否正常關(guān)閉。

示例:

ws.onclose = function(data) {
  console.log(
    `onclose:data.code = ${data.code}, data.reason = ${
      data.reason
    }, data.wasClean = ${data.wasClean}`
  )
}

WebSocket.onerror

用于指定連接失敗后的回調(diào)函數(shù)

參數(shù):

參數(shù)名 類型 必填 說明
callback Function 連接錯(cuò)誤回調(diào)

callback 參數(shù):

參數(shù)名 類型 說明
data String 監(jiān)聽器接收到的消息。

示例:

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

后臺(tái)運(yùn)行限制

無限制。

后臺(tái)運(yùn)行詳細(xì)用法參見 后臺(tái)運(yùn)行腳本。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)