注意事項:
- 調用過程中出現 “TIMEOUT”,逾時的現象,是因為RRPC作為同步調用,裝置端在接收收到RRPC請求之後,需要根據RRPC請求Topic的格式,傳回響應消息到對應的響應Topic
- 調用該接口後,如果裝置端未在5秒内做出回報,即使裝置收到了消息,雲端也視消息為發送失敗
- RRpc請求Topic的messageId 與 RRpc響應Topic的MessageId必須一緻,否則也将作為逾時。
鍊路:
1.調用雲端API RRpc,向指定裝置發送請求消息。
RRpc請求Topic:/sys/${yourProductKey}/${yourDevieName}/rrpc/request/${messageId}
2.設定裝置端響應
RRpc響應Topic:/sys/${yourProductKey}/${yourDevieName}/rrpc/response/${messageId}
3.檢視結果
一. 調用雲端API RRpc,向指定裝置發送請求消息
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iYjJWYhRDZjhzN0IDMjhjY5UmN0MWYjRmZ2YzNmdTY08CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
二. 設定裝置端響應
messageId需保持一緻
java SDK示例:
publish方法是:
自定義MQTT Topic 通訊的釋出
//判斷是否是RRpc消息
if (topic.contains("rrpc")) {
String respTopic = topic.replace("request", "response");
//publish(String topic, String payload, int qos)
publish(respTopic, "RRpc同步調用", 1);
}
三. 檢視結果