常见错误码

本文介绍在配置C Link SDK的设备接入功能时,常见错误。

Link SDK通过以下两种渠道,表达建连失败时的内部运行状态。您可以通过内部运行状态,了解失败原因。

  • API的返回值是int32_t的非正数整型,也叫状态码,状态码返回0表成功,其它值表示运行状态 。

    • 使用retval = aiot_xxx_yyy()方式获取返回值。

    • 所有返回值唯一对应内部运行分支,详情请参见aiot_state_api.haiot_xxx_api.h

    • 所有组件返回值的值域互不重叠,共同分别分布在0x0000 - 0xFFFF

  • 从SDK内部,调用您的日志回调函数。

以下为常见错误码,完整的错误码列表,请参见aiot_state_api.h

MQTT接入

错误码

说明

STATE_MQTT_CONNACK_RCODE_SERVER_UNAVAILABLE

MQTT服务器拒绝提供连接, 服务当前不可用。请稍后重试。

STATE_MQTT_CONNACK_RCODE_BAD_USERNAME_PASSWORD

连接时的用户名或密码非法。

STATE_MQTT_CONNACK_RCODE_NOT_AUTHORIZED

MQTT服务器进行连接身份验证失败,登录密码错误。请检查设备认证信息是否正确。

HTTPS接入

错误码

说明

STATE_HTTP_STATUS_LINE_INVALID

解析收到的HTTPS报文时,无法获取有效的关于状态的代码行。无法获取HTTPS StatusCode

STATE_HTTP_READ_BODY_FINISHED

解析收到的HTTPS报文时,报文的Body部分已接收完毕,但没有更多数据。

STATE_HTTP_AUTH_CODE_FAILED

HTTPS认证应答的StatusCode不是200,认证失败。请检查认证签名是否正确。

STATE_HTTP_AUTH_NOT_FINISHED

未完成接收HTTPS认证应答接,认证失败。

STATE_HTTP_AUTH_TOKEN_FAILED

HTTPS认证应答中,未能解析到Token,认证失败。

网络层

错误码

说明

STATE_PORT_NETWORK_DNS_FAILED

TCP域名解析失败,请检查域名或IP是否正确。

STATE_PORT_NETWORK_CONNECT_FAILED

TCP建立连接失败。

STATE_PORT_TLS_INVALID_MAX_FRAGMENT

TLS报文最大长度设置为0,该设置非法,请检查后重新设置。

STATE_PORT_TLS_INVALID_SERVER_CERT

TLS服务端证书配置错误,请检查服务端证书是否正确。

STATE_PORT_TLS_INVALID_CLIENT_CERT

TLS设备端证书配置错误,请检查客户端证书是否正确。

STATE_PORT_TLS_INVALID_CLIENT_KEY

TLS客户端密钥配置错误,请检查客户端密钥是否正确。

STATE_PORT_TLS_DNS_FAILED

TLS域名解析失败,请检查域名或IP是否配置正确。

STATE_PORT_TLS_SOCKET_CREATE_FAILED

TLS Socket创建失败。

STATE_PORT_TLS_SOCKET_CONNECT_FAILED

TLS Socket连接失败。

STATE_PORT_TLS_INVALID_RECORD

SSL收到的数据包出错,请检查TLS帧数据的长度是否过小。