NATS Получать сообщения только после подписки - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь связаться с сервером 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\"}"))

Кто-нибудь знает, откуда возникла эта проблема?

...