# 网络
# 服务器域名配置
每个快手小游戏都要设置通讯域名,小游戏也只可以跟指定的域名进行网络通信。包括普通 HTTPS 请求(ks.request)、上传文件(ks.uploadFile)、下载文件(ks.downloadFile) 和 WebSocket 通信(ks.connectSocket)。
# 配置流程
服务器域名配置时需要注意:
- 域名只支持 https (ks.request、ks.uploadFile、ks.downloadFile) 和 wss (ks.connectSocket) 协议。
- 域名不能使用 IP 地址或 localhost。
- 可以配置端口,如 https://myserver.com:8080, 但是配置后只能向 https://myserver.com:8080 发起请求。如果向 https://myserver.com、https://myserver.com:9091 等 URL 请求则会失败。
- 如果不配置端口。如 https://myserver.co, 那么请求的 URL 中也不能包含端口,甚至是默认的 443 端口也不可以。如果向 https://myserver.com:443 请求则会失败。 域名必须经过 ICP 备案。
- 不支持配置父域名,使用子域名。
# 网络请求
# 超时时间
- 默认超时时间:60s
- 最大超时时间:60s
- 超时时间可以在 app.json 或 game.json 中配置。
# 使用限制
- ks.request、ks.uploadFile、ks.downloadFile 的最大并发限制是 10 个。
- ks.connectSocket 的最大并发限制是 5 个。
# 返回值编码
- 推荐服務器返回值使用UTF-8 编码。对于其他编码,会尝试进行转换,但存在失败的可能。
# 回调函数
- 成功接收到服务器返回,则会进入success回调。请开发者根据业务逻辑对返回值进行判断。
# 网络相关API
# 发起请求
接口 | 功能说明 |
---|---|
ks.request | 发起 HTTPS 网络请求 |
RequestTask | 网络请求任务对象 |
RequestTask.abort | 中断请求任务 |
# 下载
接口 | 功能说明 |
---|---|
ks.downloadFile | 下载文件资源到本地 |
DownloadTask | 一个可以监听下载进度变化事件,以及取消下载任务的对象 |
DownloadTask.abort | 中断下载任务 |
DownloadTask.offProgressUpdate | 取消监听下载进度变化事件 |
DownloadTask.onProgressUpdate | 监听下载进度变化事件 |
# 上传
接口 | 功能说明 |
---|---|
ks.uploadFile | 上传本地资源到服务器 |
UploadTask | 一个可以监听上传进度变化事件,以及取消上传任务的对象 |
UploadTask.abort | 中断上传任务 |
UploadTask.offProgressUpdate | 取消监听上传进度变化事件 |
UploadTask.onProgressUpdate | 监听上传进度变化事件 |
# WebSocket
接口 | 功能说明 |
---|---|
ks.connectSocket | 创建一个 WebSocket 连接 |
SocketTask.close | 关闭 WebSocket 连接 |
SocketTask.onClose | 监听 WebSocket 连接关闭事件 |
SocketTask.onError | 监听 WebSocket 错误事件 |
SocketTask.onMessage | 监听 WebSocket 接受到服务器的消息事件 |
SocketTask.onOpen | 监听 WebSocket 连接打开事件 |
SocketTask.send | 通过 WebSocket 连接发送数据 |
SocketTask | WebSocket 任务 |