Я пытаюсь связаться с сервером NAT в облаке с помощью пакета "github.com/nats-io/go-nats"
.
Я настраиваю это так:
nc, err := nats.Connect(natsServerAddress)
if err != nil {
log.Fatal(err)
} else {
natsConn = nc
}
После этого я подписываюсь на очередь:
natsConn.Subscribe(natsRawSimDataQueue, func(m *nats.Msg) {
fmt.Printf("Received a message: %s\n", string(m.Data))
})
Моя настоящая проблема в том, что подписка, похоже, не дает эффекта. Случайно я обнаружил, что обработчик подписки срабатывает после того, как я опубликовал хотя бы одно сообщение. Так что, когда подписчик также является издателем, это похоже на работу. Вот код для публикации:
// push data to NATS Queue
natsConn.Publish(natsRawSimDataQueue, []byte("{\"msg\": \"Hello Listener\"}"))
Кто-нибудь знает, откуда возникла эта проблема?