package mqtt2 import ( "fmt" "sync" golangMqtt "github.com/eclipse/paho.mqtt.golang" "go.uber.org/dig" ) type MQTTConsumer struct { dig.In MQTTServer *MqttServer } var bufferPool = sync.Pool{ New: func() interface{} { return make([]byte, 1024) // 根据实际情况调整缓冲区大小 }, } func (c *MQTTConsumer) Start() { handler := func(client golangMqtt.Client, msg golangMqtt.Message) { fmt.Printf("MQTT message received: %s\n", msg.Payload()) // 处理消息的逻辑 } c.MQTTServer.Subscribe(c.MQTTServer.Conf.Topic, int32(c.MQTTServer.Conf.Qos), handler) }