# 网络

# 服务器域名配置

每个快手小游戏都要设置通讯域名,小游戏也只可以跟指定的域名进行网络通信。包括普通 HTTPS 请求(ks.request)、上传文件(ks.uploadFile)、下载文件(ks.downloadFile) 和 WebSocket 通信(ks.connectSocket)。

# 配置流程

服务器域名配置时需要注意:

  • 域名只支持 https (ks.requestks.uploadFileks.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 中配置。

# 使用限制

# 返回值编码

  • 推荐服務器返回值使用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 任务