Skip to content

服务端 SDK 配置

techirdliu edited this page Mar 13, 2017 · 11 revisions

服务端 SDK 的运行依赖一个基础的配置,这些基础配置包括:

  • ServerHost - 业务服务器访问域名,如 199447.qcloud.la
    • 信道服务器主动推送消息到业务服务器时,依赖于该域名可以使用,如果该域名外网无法访问,则信道服务无法正常工作。
  • AuthServerUrl - 会话服务器服务地址,如 http://10.0.12.135/mina_auth/
    • 通过 SDK 使用会话服务时,SDK 会和会话服务器通信,如果会话服务器地址错误,则会话服务无法正确工作。
    • 会话服务器需要部署在内网,以保证敏感信息不在外网传输
  • TunnelServerUrl - 信道服务器服务地址,类似于 https://1234567.ws.qcloud.la/
    • 通过 SDK 使用信道服务时,SDK 会和信道服务器进行通信,如果信道服务器地址错误,则信道服务器无法正常工作。
    • 信道服务器地址使用的协议(HTTP/HTTPS)就是业务服务器和信道服务器通信使用的协议,线上环境建议使用 HTTPS 保证安全性
  • TunnelSignatureKey - 信道服务通信签名密钥,如 my$ecretkey69447
    • 为了保证数据报不被伪造,业务服务器和信道服务器通信时所有的数据包都会通过签名密钥签名,该密钥需要保持一定的私密性
    • 通过腾讯云控制台购买解决方案下发的配置文件,会包含一个随机生成的签名密钥,用户可以自行修改
  • NetworkTimeout - 网络超时设置,单位为毫秒。默认配置为 30000,即 30 秒。
    • SDK 与会话服务器和信道服务器通信都以该配置来决定网络超时时间

配置文件

上述的配置项可以使用配置文件进行初始化,配置文件是一个 JSON 文件,其格式如下:

{
    "serverHost": "199447.qcloud.la",
    "authServerUrl": "http://10.0.12.135/mina_auth/",
    "tunnelServerUrl": "https://ws.qcloud.com",
    "tunnelSignatureKey": "my$ecretkey",
    "networkTimeout": 30000
}

使用一站式部署的开发者,分配到的业务服务器上会自动下发配置好的配置文件,业务服务器里的 Demo 也会去读取这个配置文件对 SDK 进行初始化配置。

配置文件的默认下发位置:

  • Linux - /etc/qcloud/sdk.config
  • Windows - C:\qcloud\sdk.config

每个语言版本的 SDK 都提供了方法来初始化这些配置,具体可参考 SDK 的文档:

另请参考