阅读(1377)
赞(8)
百度智能小程序 创建一个连接
2020-08-13 15:36:02 更新
swan.connectSocket
请参考使用注意事项进行开发。
解释:创建一个 WebSocket 连接。
方法参数
Object object
object参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 | Web 态说明 | |||
---|---|---|---|---|---|---|---|---|
url |
String |
是 |
开发者服务器接口地址,必须是 wss 协议,且域名必须是后台配置的合法域名。 |
|||||
header |
Object |
否 |
HTTP Header , Header 中不能设置 Referer。 |
由于 W3C 规范限制, Web 态下传入的 header 配置不生效 |
||||
protocols |
Array.<string> |
否 |
子协议数组 |
|||||
success |
Function |
否 |
接口调用成功的回调函数 |
|||||
fail |
Function |
否 |
接口调用失败的回调函数 |
|||||
complete |
Function |
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
示例
图片示例
代码示例
<button type="primary" bindtap="connectSocket">connectSocket</button>
Page({
connectSocket() {
swan.connectSocket({
url: 'wss://echo.websocket.org',
header: {
'content-type': 'application/json'
},
protocols: [],
success: res => {
swan.showToast({
title: 'websocket 连接成功',
icon: 'none'
});
console.log('connectSocket success', res);
},
fail: err => {
swan.showModal({
title: 'websocket 连接失败',
content: JSON.stringify(err)
});
console.log('connectSocket fail', err);
}
});
}
});
Bug & Tip
- 基础库 1.9.4 之前,一个智能小程序同时只能有一个 WebSocket 连接,如果当前已存在一个 WebSocket 连接,会自动关闭该连接,并重新创建一个 WebSocket 连接。
- 基础库版本 1.9.4 及以后,支持存在多个 WebSokcet 连接,每次成功调用 swan.connectSocket 会返回一个新的 SocketTask 。
错误码
Android
错误码 | 说明 |
---|---|
302 |
找不到调起协议对应端能力方法 |
202 |
解析失败,请检查参数是否正确。 |
1001 |
执行失败 |
iOS
错误码 | 说明 errMsg |
---|---|
4 |
参数有误 |
7 |
安全校验失败 |
errorCode 为 1 |
超过设置的最大 task 数量 |
errorCode 为 2 |
url/subProtocals 错误 |
errorCode 为 3 |
创建 task 实例失败 |