字節(jié)跳動小程序開發(fā)API connectSocket

2019-08-15 13:41 更新

創(chuàng)建一個WebSocket連接實例,并通過返回的socketTask操作該連接。

提示

網(wǎng)絡(luò)相關(guān)的 API 在使用前需要配置域名白名單。請參考網(wǎng)絡(luò)請求使用說明

輸入


名稱 數(shù)據(jù)類型 屬性 默認值 描述
url string required N/A Socket連接地址
header object optional `` HTTP Header
protocols Array[string] optional null 子協(xié)議數(shù)組

輸出


socketTask對象,該對象具有如下方法:

send(msg)

發(fā)送數(shù)據(jù)。 msg繼承標(biāo)準(zhǔn)對象輸入,擴展屬性描述:

名稱 數(shù)據(jù)類型 屬性 默認值 描述
data string|arraybuffer required N/A 數(shù)據(jù)內(nèi)容

close(option)

關(guān)閉Socket連接。 option繼承標(biāo)準(zhǔn)對象輸入,擴展屬性描述:

名稱 數(shù)據(jù)類型 屬性 默認值 描述
code number optional 1000 關(guān)閉連接狀態(tài)碼
reason string optional `` 關(guān)閉連接消息

onOpen(() => {})

監(jiān)聽連接成功的事件回調(diào)。

onClose(() => {})

監(jiān)聽連接關(guān)閉的事件回調(diào)。

onError((res) => {})

監(jiān)聽連接發(fā)生錯誤的事件回調(diào)。

onMessage((res) => {})

監(jiān)聽連接成功的事件回調(diào)。res.data表示返回的數(shù)據(jù),其數(shù)據(jù)格式是string|arraybuffer。

代碼示例


let socketTask = tt.connectSocket({
    url: 'wss://somepath',
    protocols: ['p1']
});

socketTask.onOpen(() => {
    console.log('WebSocket 已連接');
});

socketTask.onClose(() => {
    console.log('WebSocket 已斷開');
});

socketTask.onError(error => {
    console.error('WebSocket 發(fā)生錯誤:', error);
});

socketTask.onMessage(message => {
    console.log('socket message:', message)

    let data = message.data;

    if (Object.prototype.toString.call(data) === '[object ArrayBuffer]') {
        data = Codec.read(data);
    }
});

已知問題



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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號