github.com/sereiner/library@v0.0.0-20200518095232-1fa3e640cc5f/mq/mqtt/examples/main.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "time" 6 7 "github.com/sereiner/library/mq" 8 "github.com/sereiner/library/mq/mqtt" 9 pmqtt "github.com/sereiner/library/queue/mqtt" 10 ) 11 12 func main() { 13 14 consumer, err := mqtt.NewConsumer("", mq.WithRaw(` 15 { 16 "proto":"mqtt", 17 "address":"222.209.84.37:11883", 18 "userName":"mosquittouser", 19 "password":"abc123$" 20 } 21 `)) 22 if err != nil { 23 fmt.Println("consumer.err:", err) 24 return 25 } 26 27 if err := consumer.Connect(); err != nil { 28 fmt.Println("connect.err:", err) 29 return 30 } 31 32 consumer.Consume("device.request1", 1, func(m mq.IMessage) { 33 fmt.Println("recv:", m.GetMessage()) 34 }) 35 fmt.Println("success") 36 37 time.Sleep(time.Second) 38 publisher, err := pmqtt.New([]string{}, `{ 39 "proto":"mqtt", 40 "address":"222.209.84.37:11883", 41 "userName":"mosquittouser", 42 "password":"abc123$" 43 }`) 44 if err != nil { 45 fmt.Println("publisher.err:", err) 46 return 47 } 48 for { 49 fmt.Println("send.message:abc") 50 err = publisher.Push("device.request1", `abc`) 51 if err != nil { 52 fmt.Println("push.err:", err) 53 } 54 time.Sleep(time.Second * 2) 55 } 56 57 time.Sleep(time.Hour) 58 59 } 60 61 // func main() { 62 // cc := client.New(&client.Options{ 63 // ErrorHandler: func(err error) { 64 // fmt.Println("err:", err) 65 // }, 66 // }) 67 68 // if err := cc.Connect(&client.ConnectOptions{ 69 // Network: "tcp", 70 // Address: "222.209.84.37:11883", 71 // UserName: []byte("mosquittouser"), 72 // Password: []byte("abc123$"), 73 // ClientID: []byte("hydra-client5665"), 74 // KeepAlive: 3, 75 // }); err != nil { 76 // fmt.Println("err1:", err) 77 // } 78 // fmt.Println("conn.success") 79 80 // err := cc.Subscribe(&client.SubscribeOptions{ 81 // SubReqs: []*client.SubReq{ 82 // &client.SubReq{ 83 // TopicFilter: []byte("device.request1"), 84 // QoS: mqtt.QoS0, 85 // Handler: func(topicName, message []byte) { 86 // fmt.Println("recv:", string(topicName), string(message)) 87 // }, 88 // }, 89 // }, 90 // }) 91 // if err != nil { 92 // fmt.Println(err) 93 // } 94 95 // //----------------------publisher------------ 96 // cc1 := client.New(&client.Options{ 97 // ErrorHandler: func(err error) { 98 // fmt.Println("err:", err) 99 // }, 100 // }) 101 102 // if err := cc1.Connect(&client.ConnectOptions{ 103 // Network: "tcp", 104 // Address: "222.209.84.37:11883", 105 // //UserName: []byte("mosquittouser"), 106 // //Password: []byte("abc123$"), 107 // ClientID: []byte("hydra-client2222"), 108 // KeepAlive: 3, 109 // }); err != nil { 110 // fmt.Println("err1:", err) 111 // } 112 113 // for { 114 // err = cc1.Publish(&client.PublishOptions{ 115 // QoS: mqtt.QoS0, 116 // TopicName: []byte("device.request1"), 117 // Message: []byte(`{"id":100}`), 118 // }) 119 // if err != nil { 120 // fmt.Println("send.err:", err) 121 // } 122 // time.Sleep(time.Second) 123 124 // } 125 126 // time.Sleep(time.Second * 100000) 127 // fmt.Println("sub.success") 128 129 // }