Login函数的调用参数

使用比特授权云客户端安全库API,90%以上的错误都发生在Login调用的时候。除了在代码中需要为Login设置正确的调用参数外,软件用户的使用环境、网络连接、授权的有效性等都会影响Login的正确执行和返回结果。本文主要针对Login的常用返回错误进行说明。在此之前,应用程序代码应首先正确配置Login的输入参数。

在配置Login输入参数时应注意以下几点:

  • 认证服务器地址:如直接使用比特授权云服务器,请设为NULL;如使用E3企业版,请设置相应的E3服务器地址,注意地址中需要包含端口号(8080或集团授权的8273)
  • 授权码:对于云授权,必须每次都输入SN;对于本地授权,一般只需要在激活的时候输入SN;对于集团授权,客户端不需要输入SN
  • 登录模式:BIT_MODE_LOCAL将只验证本地授权,因此不会产生网络连接请求;而BIT_MODE_REMOTE则首先验证本地授权,并根据本地授权的验证结果决定是否连接认证服务器。使用BIT_MODE_REMOTE失败后,返回的是远程调用的错误码,如网络错误或服务器连接错误等;而BIT_MODE_LOCAL和BIT_MODE_AUTO都将返回本地的错误码,如本地授权过期。

常见Login返回错误

0x702 (1794)

这意味着同样的授权码已经在另一台计算机上登录了服务器,一般出现在云授权中。此时,通过控制台可以看到该授权码处于登录状态。在Login的同一进程内进行Logout操作可以解除它的登录状态。

如果在之前的计算机上已经Login,但程序退出时未进行Logout(可能是代码问题,也可能是程序意外终止),则必须等待该SN在服务器上超时之后其它计算机才能使用同样的SN再次登录。这个时间一般是20分钟到40分钟。

0x703 (1795)

表示本地单机授权的机器数已经用尽。

开发商在生成模版和SN的时候会为本地单机授权指定机器数,默认为1,即只能在一台计算机上使用。 如果指定的机器数已经用尽,则无法在更多的机器上使用同样的授权码进行激活。

0x807 (2055)

客户端机器的系统时间与标准时间相差8小时以上。

这个错误码只有当授权设置了与时间相关的授权项之后才有可能出现,此时当客户端与服务器连接时(激活或升级),当客户端系统时间与标准时间相关太大,将会返回这个错误。注意:请确保客户端设置了正确的时区。