首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ZeroMQ Gnuradio接口

ZeroMQ Gnuradio接口
EN

Stack Overflow用户
提问于 2019-07-31 18:04:26
回答 1查看 667关注 0票数 0

我在GRC应用程序中使用ZMQ PUB Message Sink,并希望将消息发送到C ZMQ子应用程序。

一切都正常,除了我有10个字节。即存在某种类型的10字节报头(总是相同的序列)。目前我只是把它剪掉,但如果能知道它是从哪里来的就太好了。

在C中,我使用

代码语言:javascript
运行
复制
...
void *context = zmq_ctx_new();
void *socket = zmq_socket(context, ZMQ_SUB);
zmq_setsockopt(socket, ZMQ_SUBSCRIBE, "", 0);

while(1){
   zmq_msg_init(&message);
   if(zmq_msg_recv(&message, socket, 0)){
   int size = zmq_msg_size(&message);
   ...
}

代码语言:javascript
运行
复制
0x07 0x06 0x0A 0x00 0x00 0x00 0x00 0x3E 0x01 0x00 

从右边数的第三个字节(0x3E)似乎是消息大小。

是否有人引用了相应的GnuRadio实现/定义?

EN

回答 1

Stack Overflow用户

发布于 2019-08-02 04:25:39

有意思的。我刚刚遇到了同样的问题,并在数据包的开头获得了这10个额外的字节……0x07 0x06 0x0A 0x00 0x00 0x00 0x0B 0x01 0x00

我的用法是GRC中的一个ZMQ PUB Message Sink和一个单独的python子客户端。我期望的数据包是11个字节,所以不确定0x0B是否相关?你的前导字节是什么?

我还注意到,您必须指定地址的方式与ZMQ PUB Sink块不同,因为它可以使用localhost:xxxx,但是PUB Message Sink需要tcp://127.0.0.1:xxxx

如果我也发现了额外字节的来源,我会更新它。

我要补充的是我的潜水员

代码语言:javascript
运行
复制
socket.setsockopt(zmq.SUBSCRIBE, b"")

如果这有什么关系的话。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57288209

复制
相关文章

相似问题

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