[英]Issue with sending packet via ZMQ
我有以下 C++ 代码,它将 10 个字节的 zmq 数据包发送到 GNU Radio Companion 中的 ZMQ Pull Source。
#include <iostream>
#include <zmq.h>
using namespace std;
int main()
{
void *send_context, *responder;
unsigned short gnu_trigger[10];
string trig_addr = "tcp://127.0.0.1:4500";
int rc;
/* Bind ZMQ address for transmitting data */
send_context = zmq_ctx_new();
responder = zmq_socket(send_context, ZMQ_PUSH);
rc = zmq_bind(responder, trig_addr.c_str());
while(1)
{
cout << "Sending trigger to gnuradio\n";
memset(gnu_trigger, 0x0, sizeof(unsigned short) * 10);
gnu_trigger[0] = 1;
rc = zmq_send(responder, &gnu_trigger, sizeof(gnu_trigger), 0);
cout << "Sent trigger to gnuradio\n";
sleep(1);
}
zmq_close(responder);
zmq_ctx_destroy(send_context);
return 0;
}
如果我在发送 ZMQ 数据包之前和之后删除/注释 cout 语句,则不会传输数据包。 但是,如果启用了 cout 语句,则可以成功发送数据包。
为什么会这样?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.