首頁 > 微信小程式 > 小程式開發 > 微信小程式網路API Websocket詳細說明

微信小程式網路API Websocket詳細說明

高洛峰
發布: 2017-03-13 11:43:14
原創
2697 人瀏覽過

這篇文章主要介紹了微信小程式網路API Websocket詳細說明的相關資料,需要的朋友可以參考下

wx. connectSocket(OBJECT)

建立一個WebSocket 連接;一個微信小程式同時只能有一個WebSocket連接,如果目前已存在一個WebSocket連接,會自動關閉該連接,並重新建立一個WebSocket連線。

OBJECT參數說明:

##類型必填說明url是開發者 dataObject否請求的資料#headermethodDELETEsuccess回呼函數fail##呼叫失敗的回呼函數completeFunction否介面呼叫結束的回呼函數(呼叫成功、失敗都會執行)
#參數
String 服務介面位址,必須是HTTPS協議,且網域必須是後台配置的合法網域名稱
##Object HTTP Header
#String 預設為GET,有效值為: OPTIONS, GET, HEAD, POST, PUT, , TRACE, CONNECT
Function 介面呼叫成功的
Function
範例程式碼:

#

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

wx.onSocke

tOp
en(C

ALL

BACK)監聽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.s

end

SocketMessage(OBJECT)

透過WebSocket連線傳送數據,需要先wx.connectSocket,並在wx.onSocketOpen回呼之後才能發送。 OBJECT參數說明:


參數

#必填說明dataString是需要傳送的內容範例程式碼:


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)
 }
}
登入後複製


wx.onSocketMessage(CALLBACK)

監聽WebSocket接受到伺服器的訊息事件


CALLBACK回傳參數:


參數類型說明data#String伺服器傳回的訊息#範例程式碼:


wx.connectSocket({
 url:"test.php"
});

wx.onSocketMessage(function(res){
 console.log("收到服务器内容:" + res.data)
})
登入後複製


wx.closeSocket()

關閉WebSocket連線


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 已关闭!")
})
登入後複製

感謝閱讀,希望能幫助大家,謝謝大家對本站的支持!

以上是微信小程式網路API Websocket詳細說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板