百度智能小程序 創(chuàng)建一個連接

2020-09-05 14:09 更新

swan.connectSocket

請參考使用注意事項進(jìn)行開發(fā)。

解釋:創(chuàng)建一個 WebSocket 連接。

方法參數(shù)

Object object

object參數(shù)說明

屬性名 類型 必填 默認(rèn)值 說明 Web 態(tài)說明

url

String

開發(fā)者服務(wù)器接口地址,必須是 wss 協(xié)議,且域名必須是后臺配置的合法域名。

header

Object

HTTP Header , Header 中不能設(shè)置 Referer。

由于 W3C 規(guī)范限制, Web 態(tài)下傳入的 header 配置不生效

protocols

Array.<string>

子協(xié)議數(shù)組

success

Function

接口調(diào)用成功的回調(diào)函數(shù)

fail

Function

接口調(diào)用失敗的回調(diào)函數(shù)

complete

Function

接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

示例 

在開發(fā)者工具中打開



圖片示例



代碼示例

<button type="primary" bindtap="connectSocket">connectSocket</button>
Page({
    connectSocket() {
        swan.connectSocket({
            url: 'wss://echo.websocket.org',
            header: {
                'content-type': 'application/json'
            },
            protocols: [],
            success: res => {
                swan.showToast({
                    title: 'websocket 連接成功',
                    icon: 'none'
                });
                console.log('connectSocket success', res);
            },
            fail: err => {
                swan.showModal({
                    title: 'websocket 連接失敗',
                    content: JSON.stringify(err)
                });
                console.log('connectSocket fail', err);
            }
        });
    }
});

Bug & Tip

  • 基礎(chǔ)庫 1.9.4 之前,一個智能小程序同時只能有一個 WebSocket 連接,如果當(dāng)前已存在一個 WebSocket 連接,會自動關(guān)閉該連接,并重新創(chuàng)建一個 WebSocket 連接。
  • 基礎(chǔ)庫版本 1.9.4 及以后,支持存在多個 WebSokcet 連接,每次成功調(diào)用 swan.connectSocket 會返回一個新的 SocketTask 。

錯誤碼

Android

錯誤碼 說明

302

找不到調(diào)起協(xié)議對應(yīng)端能力方法

202

解析失敗,請檢查參數(shù)是否正確。

1001

執(zhí)行失敗

iOS

錯誤碼 說明 errMsg

4

參數(shù)有誤

7

安全校驗(yàn)失敗

errorCode 為 1

超過設(shè)置的最大 task 數(shù)量

errorCode 為 2

url/subProtocals 錯誤

errorCode 為 3

創(chuàng)建 task 實(shí)例失敗


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號