首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nats:没有来自流的响应

nats:没有来自流的响应
EN

Stack Overflow用户
提问于 2021-05-08 23:05:45
回答 2查看 2.7K关注 0票数 1

当我想要在nats服务器-js中发布带有golang的msg时,-js与nats服务器有错误,我有这样的错误:nats:没有来自流的响应,我希望将视频发布到nats-server -js,这是我的发布文件:

代码语言:javascript
复制
    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)
    }
}

我怎样才能解决这个问题?谢谢您的答复。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-22 11:22:52

代码的问题是,您忘记添加stream .Your nats服务器在4222 (默认).But上是可连接的,您必须添加一个流来发布和获取数据,下面是go中的代码

代码语言:javascript
复制
_, err = js.AddStream(&nats.StreamConfig{
        Name:     "orders",
        Subjects: []string{"ORDERS.*"},
    })

请参阅更多文档

票数 2
EN

Stack Overflow用户

发布于 2021-05-10 03:13:26

我认为您需要在发布函数(ORDERS.*)中指定子主题: ORDERS.category,ORDERS.abc,.(非:命令)

下面是我使用NATS流JS Pub/Sub消息的示例:

在这里输入图像描述

代码语言:javascript
复制
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)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67452921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档