使用来自nestjs/microservices的clientMQTT的MQTT中没有模式信息
这是app.modules:使用来自nestjs/microservices的clientMQTT的MQTT中没有模式信息,microservices,mqtt,nestjs,Microservices,Mqtt,Nestjs,这是app.modules: import { Module } from '@nestjs/common'; import { ClientsModule, Transport } from '@nestjs/microservices'; import { AppController } from './app.controller'; import { AppService } from './app.service'; @Module({ imports: [ Client
import { Module } from '@nestjs/common';
import { ClientsModule, Transport } from '@nestjs/microservices';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [
ClientsModule.register([
{
name: 'MQTTTest',
transport: Transport.MQTT,
options: {
url: 'mqtt://localhost:11883',
},
},
]),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
这是app.service的一部分:
@Injectable()
export class AppService {
@Client({
transport: Transport.MQTT,
options: {
hostname: 'localhost',
port: 11883,
protocolId: 'MQTT',
},
})
public clientMq: ClientMqtt;
public sendMessage(): any {
const pattern = 'test/test1';
const data: number[] = [5, 6];
const pat = {
topic: pattern,
payload:
'{"type":"Buffer","data":[72,97,108,108,111,32,69,97,115,100,115,97,100]}',
};
// return this.client.send<number>(pattern, data).toPromise();
this.clientMq.emit('test/test', 'Here the data');
}
@Injectable()
导出类应用程序服务{
@客户({
传输:transport.MQTT,
选项:{
主机名:“localhost”,
港口:11883,
protocolId:'MQTT',
},
})
公共clientMq:ClientMqtt;
public sendMessage():任何{
常量模式='test/test1';
常数数据:数字[]=[5,6];
常数pat={
主题:模式,
有效载荷:
“{”type:“Buffer”,“data:[72,97108108111,32,69,97115100115,97100]}”,
};
//返回此.client.send(模式、数据).toPromise();
this.clientMq.emit('test/test','Here the data');
}
现在,如果检查MQTTExplorer中的主题,我会看到以下消息:
我只需要client.emit函数中的数据-我不需要模式信息
客户机装饰器中是否有任何选项来支持它,并且只接收数据