欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

WebSocket通信API

本文編輯: Flyinthesky Flyinthesky瀏覽 5642 版權所有,嚴禁轉載

創建、斷開WebSocket通信API

接口 說明
wx.connectSocket(OBJECT) 創建一個 WebSocket 連接。
wx.closeSocket() 關閉WebSocket連接。

監聽WebSocket通信API

接口 說明
wx.onSocketOpen(CALLBACK) 監聽WebSocket連接打開事件。
wx.onSocketError(CALLBACK) 監聽WebSocket錯誤。
wx.onSocketMessage(CALLBACK) 監聽WebSocket接受到服務器的消息事件。
wx.onSocketClose(CALLBACK) 監聽WebSocket關閉。

發送數據API

接口 說明
wx.sendSocketMessage(OBJECT) 通過 WebSocket 連接發送數據,需要先 wx.connectSocket,并在wx.onSocketOpen回調之后才能發送。

主要方法

wx.connectSocket(OBJECT)
創建一個 WebSocket 連接;一個微信小程序同時只能有一個 WebSocket 連接,如果當前已存在一個 WebSocket 連接,會自動關閉該連接,并重新創建一個 WebSocket 連接。

參數 類型 必填 說明
url String 開發者服務器接口地址,必須是 wss 協議,且域名必須是后臺配置的合法域名
data Object 請求的數據
header Object HTTP Header , header 中不能設置 Referer
method String 默認是GET,有效值為: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
success Function 接口調用成功的回調函數
fail Function 接口調用失敗的回調函數
complete Function 接口調用結束的回調函數(調用成功、失敗都會執行)

示例代碼:

wx.connectSocket({
  url: 'test.php',
  data:{
    x: '',
    y: ''
  },
  header:{ 
    'content-type': 'application/json'
  },
  method:"GET"
})

引申:WSS、SSL 和 https 之間的關系
SSL:
SSL(Secure Socket Layer,安全套接層) 簡單來說是一種加密技術, 通過它, 我們可以在通信的雙方上建立一個安全的通信鏈路, 因此數據交互的雙方可以安全地通信, 而不需要擔心數據被竊取。
WSS:
WSS 是 Web Socket Secure 的簡稱, 它是 WebSocket 的加密版本. 我們知道 WebSocket 中的數據是不加密的, 但是不加密的數據很容易被別有用心的人竊取, 因此為了保護數據安全, 人們將 WebSocket 與 SSL 結合, 實現了安全的 WebSocket 通信, 即 WebSocket Secure.所以說 WSS 是使用 SSL 進行加密了的 WebSocket 通信技術。
HTTPS:
其實 HTTPS 和 WSS 類似, HTTP 之于 HTTPS 就像 WebSocket 之于 WebSocket Secure.HTTP 協議本身也是明文傳輸, 因此為了數據的安全性, 人們利用 SSL 作為加密通道, 在 SSL 之上傳遞 HTTP 數據, 因此 SSL 加密通道上運行的 HTTP 協議就被稱為 HTTPS 了。
總結:
SSL 是基礎, 在 SSL 上運行 WebSocket 協議就是 WSS; 在 SSL 上運行 HTTP 協議就是 HTTPS。

wx.onSocketOpen(CALLBACK)
監聽WebSocket連接打開事件。
示例代碼:

wx.connectSocket({
  url: 'test.php'
})
wx.onSocketOpen(function(res) {
  console.log('WebSocket連接已打開!')
})

wx.onSocketError(CALLBACK)
監聽WebSocket錯誤。
示例代碼:

wx.connectSocket({
  url: 'test.php'
})
wx.onSocketOpen(function(res){
  console.log('WebSocket連接已打開!')
})
wx.onSocketError(function(res){
  console.log('WebSocket連接打開失敗,請檢查!')
})

wx.onSocketMessage(CALLBACK)
CALLBACK返回參數:

參數 類型 說明
data String/ArrayBuffer 服務器返回的消息

示例代碼:

wx.connectSocket({
  url: 'test.php'
})

wx.onSocketMessage(function(res) {
  console.log('收到服務器內容:' + res.data)
})

wx.onSocketClose(CALLBACK)
監聽WebSocket關閉。
示例代碼:

wx.connectSocket({
  url: 'test.php'
})

//注意這里有時序問題,
//如果 wx.connectSocket 還沒回調 wx.onSocketOpen,而先調用 wx.closeSocket,那么就做不到關閉 WebSocket 的目的。
//必須在 WebSocket 打開期間調用 wx.closeSocket 才能關閉。
wx.onSocketOpen(function() {
  wx.closeSocket()
})

wx.onSocketClose(function(res) {
  console.log('WebSocket 已關閉!')
})

wx.sendSocketMessage(OBJECT)
通過 WebSocket 連接發送數據,需要先 wx.connectSocket,并在 wx.onSocketOpen回調之后才能發送。

參數 類型 必填 說明
data Object 請求的數據
success Function 接口調用成功的回調函數
fail Function 接口調用失敗的回調函數
complete Function 接口調用結束的回調函數(調用成功、失敗都會執行)

示例代碼:

var socketOpen = false
var socketMsgQueue = []
wx.connectSocket({
  url: 'test.php'
})

wx.onSocketOpen(function(res) {
  socketOpen = true
  for (var i = 0; i < socketMsgQueue.length; i++){
     sendSocketMessage(socketMsgQueue[i])
  }
  socketMsgQueue = []
})

function sendSocketMessage(msg) {
  if (socketOpen) {
    wx.sendSocketMessage({
      data:msg
    })
  } else {
     socketMsgQueue.push(msg)
  }
}

Bug & Tip

1、tip: createSocket 鏈接默認和最大超時時間都是 60s
2、tip: 網絡請求的 referer 是不可以設置的,格式固定為 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 為小程序的 appid,{version} 為小程序的版本號,版本號為 0 表示為開發版。

如有技術問題或對本文有反饋,請加入QQ群:
微信小程序實戰5營: 微信小程序Club實戰5營