回复消息

传入的消息可能包含一个可选的回复到字段(reply-to field)。如果设置了该字段,它将包含一个预期回复到的主题。

例如,以下代码将监听该请求,并以当前时间作为响应。

nc, err := nats.Connect("demo.nats.io")
if err != nil {
    log.Fatal(err)
}
defer nc.Close()

// Subscribe
sub, err := nc.SubscribeSync("time")
if err != nil {
    log.Fatal(err)
}

// Read a message
msg, err := sub.NextMsg(10 * time.Second)
if err != nil {
    log.Fatal(err)
}

// Get the time
timeAsBytes := []byte(time.Now().String())

// Send the time as the response.
msg.Respond(timeAsBytes)

最后更新于