微信小程序 网络API Websocket详解

网友投稿 368 2023-06-30


微信小程序 网络API Websocket详解

微信小程序 网络API:

微信小程序 网络API发起请求

微信小程序 网络API 上传、下载

微信小程序 网络API Websocket

wx.connectSocket(OBJECT)

​ 创建一个 WebSocket 连接;一个微信小程序同时只能有一个WebSocket连接,如果当前已存在一个WebSocket连接,会自动关闭该连接,并重新创建一个WebSocket连接。

OBJECT参数说明:

参YmdISzya数

类型

必填

说明

url

String

开发者服务器接口地址,必须是HTTPS协议,且域名必须是后台配置的合法域名

data

Object

请求的数据

header

Object

HTTP Header

method

String

默认是GET,有效值为: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT

success

Function

接口调用成功的回调函数

fail

Function

接口调用失败的回调函数

coYmdISzyamplete

Function

接口调用结束的回调函数(调用成功、失败都会执行)

示例代码:

wx.connectSocket({

url:"test.php",

data:{

x:"http://",

y:""

},

header:{

'content-type': 'application/json'

},

method:"GET"

})

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.sendSocketMessage(OBJECT)

​ 通过WebSocket连接发送数据,需要先wx.connectSocket,并在wx.onSocketOpen回调之后才能发送。

OBJECT参数说明:

参数

类型

必填

说明

data

String

需要发送的内容

示例代码:

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 已关闭!")

})

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java Web开发环境配置详解
下一篇:Bootstrap模态框水平垂直居中与增加拖拽功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~