字节跳动小程序开发API connectSocket
2019-08-15 13:41 更新
创建一个WebSocket连接实例,并通过返回的socketTask操作该连接。
提示
网络相关的 API 在使用前需要配置域名白名单。请参考网络请求使用说明
输入
名称 | 数据类型 | 属性 | 默认值 | 描述 |
---|---|---|---|---|
url
|
string
|
required | N/A | Socket连接地址 |
header
|
object
|
optional | `` | HTTP Header |
protocols
|
Array[string]
|
optional | null
|
子协议数组 |
输出
socketTask对象,该对象具有如下方法:
send(msg)
发送数据。 msg继承标准对象输入,扩展属性描述:
名称 | 数据类型 | 属性 | 默认值 | 描述 |
---|---|---|---|---|
data
|
string|arraybuffer
|
required | N/A | 数据内容 |
close(option)
关闭Socket连接。 option继承标准对象输入,扩展属性描述:
名称 | 数据类型 | 属性 | 默认值 | 描述 |
---|---|---|---|---|
code
|
number
|
optional | 1000
|
关闭连接状态码 |
reason
|
string
|
optional | `` | 关闭连接消息 |
onOpen(() => {})
监听连接成功的事件回调。
onClose(() => {})
监听连接关闭的事件回调。
onError((res) => {})
监听连接发生错误的事件回调。
onMessage((res) => {})
监听连接成功的事件回调。res.data表示返回的数据,其数据格式是string|arraybuffer。
代码示例
let socketTask = tt.connectSocket({
url: 'wss://somepath',
protocols: ['p1']
});
socketTask.onOpen(() => {
console.log('WebSocket 已连接');
});
socketTask.onClose(() => {
console.log('WebSocket 已断开');
});
socketTask.onError(error => {
console.error('WebSocket 发生错误:', error);
});
socketTask.onMessage(message => {
console.log('socket message:', message)
let data = message.data;
if (Object.prototype.toString.call(data) === '[object ArrayBuffer]') {
data = Codec.read(data);
}
});
已知问题
以上内容是否对您有帮助:
更多建议: