NATS Получать сообщения только после подписки

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

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

0 ответов

Другие вопросы по тегам