亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Azure Java SDK 發送和接收消息

如何使用 Azure Java SDK 發送和接收消息

繁星coding 2022-07-20 16:00:27
我正在使用 Azure Java SDK 學習開發 Java IoT Edge 模塊。我正在關注本教程https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-java-module。因此,他們解釋了如何使用回調發送消息和接收消息,如下所示:// Send message:client.sendEventAsync(msg, eventCallback, msg, App.OUTPUT_NAME);// Receive message:private static MessageCallbackMqtt msgCallback = new MessageCallbackMqtt();client.setMessageCallback(App.INPUT_NAME, msgCallback, client);protected static class MessageCallbackMqtt implements MessageCallback {    private int counter = 0;    @Override    public IotHubMessageResult execute(Message msg, Object context) {            System.out.println(String.format("Received message %d: %s", this.counter, new String(msg.getBytes(), Message.DEFAULT_IOTHUB_MESSAGE_CHARSET)));     }}如您所見,發送和接收的消息都是Message類型。例如,我如何發送整數?我看到我可以將它轉換為字符串String msgString = new String(msg.getBytes(), Message.DEFAULT_IOTHUB_MESSAGE_CHARSET);但是整數呢?另外,在 sendEventAsync 方法中,第三個參數 msg 是什么?在文檔中他們說它是,Object callbackContext但我不明白它是什么以及為什么我們使用它msg作為這個參數。謝謝您的回答
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

將整數作為二進制消息發送非常簡單:

Message msg = new Message(ByteBuffer.allocate(4).putInt(1695609641).array());

sendEventAsync 方法中的第三個參數是第二個參數中回調方法的上下文對象,方法簽名如下

void execute(IotHubStatusCode responseStatus, Object callbackContext);

所以在第三個參數中傳入消息可以讓你在回調方法中訪問消息


查看完整回答
反對 回復 2022-07-20
  • 1 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號