本文介紹在配置C Link SDK的設備接入功能時,常見錯誤。
Link SDK通過以下兩種渠道,表達建連失敗時的內部運行狀態。您可以通過內部運行狀態,了解失敗原因。
API的返回值是
int32_t
的非正數整型,也叫狀態碼,狀態碼返回0
表成功,其它值表示運行狀態 。使用
retval = aiot_xxx_yyy()
方式獲取返回值。所有返回值唯一對應內部運行分支,詳情請參見
aiot_state_api.h
或aiot_xxx_api.h
。所有組件返回值的值域互不重疊,共同分別分布在
0x0000 - 0xFFFF
。
從SDK內部,調用您的日志回調函數。
以下為常見錯誤碼,完整的錯誤碼列表,請參見aiot_state_api.h。
MQTT接入
錯誤碼 | 說明 |
MQTT服務器拒絕提供連接, 服務當前不可用。請稍后重試。 | |
連接時的用戶名或密碼非法。 | |
MQTT服務器進行連接身份驗證失敗,登錄密碼錯誤。請檢查設備認證信息是否正確。 |
HTTPS接入
錯誤碼 | 說明 |
解析收到的HTTPS報文時,無法獲取有效的關于狀態的代碼行。無法獲取HTTPS | |
解析收到的HTTPS報文時,報文的Body部分已接收完畢,但沒有更多數據。 | |
HTTPS認證應答的StatusCode不是200,認證失敗。請檢查認證簽名是否正確。 | |
未完成接收HTTPS認證應答接,認證失敗。 | |
HTTPS認證應答中,未能解析到Token,認證失敗。 |
網絡層
錯誤碼 | 說明 |
TCP域名解析失敗,請檢查域名或IP是否正確。 | |
TCP建立連接失敗。 | |
TLS報文最大長度設置為0,該設置非法,請檢查后重新設置。 | |
TLS服務端證書配置錯誤,請檢查服務端證書是否正確。 | |
TLS設備端證書配置錯誤,請檢查客戶端證書是否正確。 | |
TLS客戶端密鑰配置錯誤,請檢查客戶端密鑰是否正確。 | |
TLS域名解析失敗,請檢查域名或IP是否配置正確。 | |
TLS Socket創建失敗。 | |
TLS Socket連接失敗。 | |
SSL收到的數據包出錯,請檢查TLS幀數據的長度是否過小。 |