为了账号安全,请及时绑定邮箱和手机立即绑定

nats:没有来自流的响应

nats:没有来自流的响应

Go
杨__羊羊 2022-08-30 15:00:27
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)    }}如何解决此问题?提前感谢您的回复。
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

代码的问题是,您忘记添加 .您的 nats 服务器可在以下位置连接(默认)。但是您必须添加一个流来发布并获取数据,这是go中的代码stream4222


_, err = js.AddStream(&nats.StreamConfig{

        Name:     "orders",

        Subjects: []string{"ORDERS.*"},

    })

有关详细信息,请参阅文档


查看完整回答
反对 回复 2022-08-30
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

我认为您需要在发布函数(ORDERS.*)中指定子主题 示例:ORDERS.category,ORDERS.abc,....(不是:订单)

这是我使用NATS STREAMING JS Pub/Sub Message的示例:

在此输入图像描述

package main


import (

    "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)

    }

}


查看完整回答
反对 回复 2022-08-30
  • 2 回答
  • 0 关注
  • 228 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号