swan.sendSocketMessage
解释:通过 WebSocket 连接发送数据,需要先调用 swan.connectSocket,并在 swan.onSocketOpen 回调之后才能发送。
方法参数
Object object
object参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
data | String | 是 | 需要发送的内容 | |
success | Function | 否 | 接口调用成功的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例
扫码体验
请使用百度APP扫码
图片示例
代码示例1 :
- 在 js 文件中
Page({
sendSocketMessage() {
swan.onSocketOpen(function () {
swan.sendSocketMessage({
data: 'baidu',
success: res => {
swan.showToast({
title: 'WebSocket发送数据成功',
icon: "none"
});
console.log('WebSocket发送数据成功', res);
},
fail: err => {
console.log('WebSocket发送数据失败', err);
}
});
});
swan.connectSocket({
url: 'wss://echo.websocket.org',
header: {},
success: res => {
console.log('connectSocket success', res);
},
fail: err => {
console.log('connectSocket fail', err);
}
});
}
});
代码示例2 - 示例1的另一种写法 :
- 在 js 文件中
Page({
sendSocketMessage() {
new Promise((resolve, reject) => {
const socketHandler = swan.connectSocket({
url: 'wss://echo.websocket.org',
header: {},
success: function (res) {
console.log('connectSocket success', res.socketTaskId)
},
fail: function (err) {
reject(err);
console.log('connectSocket fail', err);
}
});
socketHandler.onOpen(function () {
resolve(socketHandler);
});
})
.then(socketHandler => {
swan.sendSocketMessage({
data: 'baidu',
success: res => {
swan.showToast({
title: 'WebSocket发送数据成功',
icon: "none"
});
console.log('WebSocket发送数据成功', res);
},
fail: err => {
console.log('WebSocket发送数据失败', err);
}
});
})
}
});
错误码
Android
错误码 | 说明 |
---|---|
302 | 找不到调起协议对应端能力方法 |
202 | 解析失败,请检查参数是否正确 |
1001 | 执行失败 |
iOS
错误码 | 说明 |
---|---|
4 | 参数有误 |