12345678910111213141516171819202122232425262728293031 |
- 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)
- }
|