MQTT发送对象,而不是在Nest.js传输字符串



当我试图从我的Nest.js后端发送字符串时,它正在将字符串包装成JSON对象。因此,我得到一个对象,而不是一个普通的字符串。因为我不能改变接收者的代码,所以我只需要将其作为一个纯字符串发送。

:

import { ClientProxy, MessagePattern } from '@nestjs/microservices';
<<p>内部构造函数/strong>:
@Inject('MQTT_CLIENT') private _mqtt: ClientProxy,

内函数:

this._mqtt.emit<any,string>('xyz/ABC', packet.toString()).toPromise();

发送报文:" sfdksjhfoyoasoioudoiasoiiusoida& quot;

包收到:

{
"pattern": "xyz/ABC",
"data": "sfdksjhfoyoasoiuoudoiuasoidoiaiusoida"
}

收件方需要的包:" sfdksjhfoyoasoioudoiuusoida& quot;

这是不可能的,MQTT将同时发送模式和数据,您可以使用Dot Notation提取您需要的属性。

最新更新