小程序創建一個 WebSocket 連接wx.connectSocket
SocketTask wx.connectSocket(Object object)
以 Promise 風格 調用:不支持
創建一個 WebSocket 連接。使用前請注意閱讀相關說明。推薦使用 SocketTask 的方式去管理 webSocket 鏈接,每一條鏈路的生命周期都更加可控。同時存在多個 webSocket 的鏈接的情況下使用 wx 前綴的方法可能會帶來一些和預期不一致的情況。
參數
Object object
屬性 類型 默認值 必填 說明 最低版本
url string 是 開發者服務器 wss 接口地址
header Object 否 HTTP Header,Header 中不能設置 Referer
protocols Array.<string> 否 子協議數組 1.4.0
tcpNoDelay boolean false 否 建立 TCP 連接的時候的 TCP_NODELAY 設置 2.4.0
perMessageDeflate boolean false 否 是否開啟壓縮擴展 2.8.0
timeout number 否 超時時間,單位為毫秒 2.10.0
success function 否 接口調用成功的回調函數
fail function 否 接口調用失敗的回調函數
complete function 否 接口調用結束的回調函數(調用成功、失敗都會執行)
返回值
SocketTask
基礎庫 1.7.0 開始支持,低版本需做兼容處理。
WebSocket 任務
并發數
1.7.0 及以上版本,最多可以同時存在 5 個 WebSocket 連接。
1.7.0 以下版本,一個小程序同時只能有一個 WebSocket 連接,如果當前已存在一個 WebSocket 連接,會自動關閉該連接,并重新創建一個 WebSocket 連接。
示例代碼
wx.connectSocket({
url: 'wss://example.qq.com',
header:{
'content-type': 'application/json'
},
protocols: ['protocol1']
})