猿问

nats:没有来自流的响应

nats-server -js有错误,当我想要在nats-server -js中使用golang发布msg时,我有这样的错误:nats:没有来自流的响应,我想将视频发布到nats-server -js这是我的pub文件:


    nc, _ := nats.Connect(nats.DefaultURL)


js, _ := nc.JetStream()


webcam, _ := gocv.VideoCaptureDevice(0)

img := gocv.NewMat()

defer img.Close()

for {

    webcam.Read(&img)

    _, err := js.Publish("ORDERS", img.ToBytes())

    if err != nil {

        fmt.Println(err)

    }

}

如何解决此问题?提前感谢您的回复。


杨__羊羊
浏览 229回答 2
2回答

皈依舞

代码的问题是,您忘记添加 .您的 nats 服务器可在以下位置连接(默认)。但是您必须添加一个流来发布并获取数据,这是go中的代码stream4222_, err = js.AddStream(&nats.StreamConfig{        Name:     "orders",        Subjects: []string{"ORDERS.*"},    })有关详细信息,请参阅文档

慕的地6264312

我认为您需要在发布函数(ORDERS.*)中指定子主题 示例:ORDERS.category,ORDERS.abc,....(不是:订单)这是我使用NATS STREAMING JS Pub/Sub Message的示例:在此输入图像描述package mainimport (    "fmt"    "github.com/test/global"    "github.com/nats-io/nats.go")func main() {    nc, err := nats.Connect(global.GetURL())    if err != nil {        fmt.Println(err)    }    js, err := nc.JetStream()    if err != nil {        fmt.Println(err)    }    _, err = js.Publish("ORDERS.abc", []byte("abc"))    if err != nil {        fmt.Println(err)    }}
随时随地看视频慕课网APP

相关分类

Go
我要回答