我正在使用 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作为这个参数。
谢谢您的回答
有只小跳蛙
相关分类