uni.connectSocket(options)
创建一个 WebSocket 连接。
connectSocket 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | ConnectSocketOptions | 是 | - | - | - |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | url | string | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 开发者服务器接口地址 | header | UTSJSONObject | 否 | null |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| HTTP 请求 Header,header 中不能设置 Referer | protocols | Array<string> | 否 | null |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 子协议数组 | success | (result: ConnectSocketSuccess) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用成功的回调函数 | fail | (result: ConnectSocketFail) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用失败的回调函数 | complete | (result: any) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用结束的回调函数(调用成功、失败都会执行) | forceCellularNetwork | boolean | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 需要基础库: 2.29.0
强制使用蜂窝网络发送请求
| perMessageDeflate | boolean | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 需要基础库: 2.8.0
是否开启压缩扩展
| tcpNoDelay | boolean | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 需要基础库: 2.4.0
建立 TCP 连接的时候的 TCP_NODELAY 设置
| timeout | number | 否 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 需要基础库: 2.10.0
超时时间,单位为毫秒
|
|
ConnectSocketSuccess 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - | - | - |
ConnectSocketFail 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errCode | number | 是 | - | - | 错误码 - 600009 URL格式不合法 |
errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |
data | any | 否 | - | - | 错误信息中包含的数据 |
cause | Error | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |
errMsg | string | 是 | - | - | - |
返回值
SocketTask 的方法
send(options: SendSocketMessageOptions): void;
通过 WebSocket 连接发送数据
send 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | SendSocketMessageOptions | 是 | - | - | - |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | data | any | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 需要发送的内容 | success | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用成功的回调函数 | fail | (result: SendSocketMessageFail) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用失败的回调函数 | complete | (result: any) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用结束的回调函数(调用成功、失败都会执行) |
|
SendSocketMessageFail 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errCode | number | 是 | - | - | 错误码 |
合法值 | 兼容性 | 描述 | 10001 | - | 发送数据超限,发送队列不能超过16M大小。 | 10002 | - | websocket未连接 | 602001 | - | websocket系统错误 |
|
errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |
data | any | 否 | - | - | 错误信息中包含的数据 |
cause | Error | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |
errMsg | string | 是 | - | - | - |
close(options: CloseSocketOptions): void;
关闭 WebSocket 连接
close 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | CloseSocketOptions | 是 | - | - | - |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | code | number | 否 | 1000 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭) | reason | string | 否 | "" |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符) | success | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用成功的回调函数 | fail | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用失败的回调函数 | complete | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用结束的回调函数(调用成功、失败都会执行) |
|
onOpen(callback: (result: OnSocketOpenCallbackResult) => void): void;
监听 WebSocket 连接打开事件
onOpen 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
OnSocketOpenCallbackResult 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
header | any | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 连接成功的 HTTP 响应 Header |
onClose(callback: (result: any) => void): void;
监听 WebSocket 连接关闭事件
onClose 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
callback | (result: any) => void | 是 | - | - | - |
onError(callback: (result: GeneralCallbackResult) => void): void;
监听 WebSocket 错误
onError 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
onMessage(callback: (result: OnSocketMessageCallbackResult) => void): void;
监听 WebSocket 接受到服务器的消息事件
onMessage 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
OnSocketMessageCallbackResult 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
data | any | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 服务器返回的消息 |
参见
uni.onSocketOpen(options)
监听WebSocket连接打开事件。 已废弃,使用 SocketTask 的 onOpen 替换。
onSocketOpen 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
OnSocketOpenCallbackResult 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
header | any | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 连接成功的 HTTP 响应 Header |
参见
uni.onSocketError(callback)
监听WebSocket错误。 已废弃,使用 SocketTask 的 onError 替换。
onSocketError 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
OnSocketErrorCallbackResult 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 错误信息 |
参见
uni.sendSocketMessage(options)
通过 WebSocket 连接发送数据,需要先 uni.connectSocket,并在 uni.onSocketOpen 回调之后才能发送。 已废弃,使用 SocketTask 的 send 替换。
sendSocketMessage 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | SendSocketMessageOptions | 是 | - | - | - |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | data | any | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 需要发送的内容 | success | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用成功的回调函数 | fail | (result: SendSocketMessageFail) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用失败的回调函数 | complete | (result: any) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用结束的回调函数(调用成功、失败都会执行) |
|
SendSocketMessageFail 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errCode | number | 是 | - | - | 错误码 |
合法值 | 兼容性 | 描述 | 10001 | - | 发送数据超限,发送队列不能超过16M大小。 | 10002 | - | websocket未连接 | 602001 | - | websocket系统错误 |
|
errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |
data | any | 否 | - | - | 错误信息中包含的数据 |
cause | Error | 否 | - | - | 源错误信息,可以包含多个错误,详见SourceError |
errMsg | string | 是 | - | - | - |
参见
注意事项
- 出于性能的权衡,在底层实现上发送队列占用的内存不能超过16M,一旦超过将导致连接被关闭。
uni.onSocketMessage(callback)
监听WebSocket接受到服务器的消息事件。 已废弃,使用 SocketTask 的 onMessage 替换。
onSocketMessage 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
OnSocketMessageCallbackResult 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
data | any | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 服务器返回的消息 |
参见
uni.closeSocket(options)
关闭 WebSocket 连接。 已废弃,使用 SocketTask 的 close 替换。
closeSocket 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |
options | CloseSocketOptions | 是 | - | - | - |
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 | code | number | 否 | 1000 |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。如果这个参数没有被指定,默认的取值是1000 (表示正常连接关闭) | reason | string | 否 | "" |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 一个可读的字符串,表示连接被关闭的原因。这个字符串必须是不长于123字节的UTF-8 文本(不是字符) | success | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用成功的回调函数 | fail | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用失败的回调函数 | complete | (result: GeneralCallbackResult) => void | 否 | null |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 接口调用结束的回调函数(调用成功、失败都会执行) |
|
参见
uni.onSocketClose(callback)
监听WebSocket关闭。 已废弃,使用 SocketTask 的 onClose 替换。
onSocketClose 兼容性
Web | 微信小程序 | Android | Android uni-app x UTS 插件 | iOS | iOS uni-app x UTS 插件 |
4.0 | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
参数
OnSocketCloseCallbackResult 的属性值
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
code | number | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 一个数字值表示关闭连接的状态号,表示连接被关闭的原因。 |
reason | string | 是 | - |
Web
|
微信小程序
|
Android
|
Android uni-app x UTS 插件
|
iOS
|
iOS uni-app x UTS 插件
| - | 4.41 | 3.91 | 3.91 | 4.11 | 4.11 |
| 一个可读的字符串,表示连接被关闭的原因。 |
参见
示例
hello uni-app x
通用类型
GeneralCallbackResult
名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |
errMsg | string | 是 | - |
Web
|
微信小程序
|
Android
|
iOS
| - | 4.41 | - | - |
| 错误信息 |