我试图发布序列化消息并发送该对象类型的ContentType,因此当我在订阅服务器上收到消息时,我知道可以反序列化回哪种类型。
以下是发布代码:
public async Task PublishByTopicAsync<T>(string topic, T payload)
{
var payloadInBytes = _serializer.SerializeObject(payload);
var message = new MqttApplicationMessage()
{
Topic = topic,
PayloadFormatIndicator = MqttPayloadFormatIndicator.CharacterData,
ContentType = "json",//payload?.GetType().FullName,
Payload = payloadInBytes,
QualityOfServiceLevel = MqttQualityOfServiceLevel.AtMostOnce
};
await _mqttClient.Value.Result.EnqueueAsync(message);
}
在接收方我得到了这个:
是否知道如何在发布时发送对象的类型,并在订阅服务器上接收它?
发布于 2022-08-03 13:59:14
如注释中所述,只有当两个客户端都通过MQTT v5连接到代理时,PayloadFormatIndicator
才可用。
https://stackoverflow.com/questions/73220698
复制相似问题