C++ ZeroMQ setsockopt和getsockopt返回无效参数
您可能希望对照API规范检查代码以了解详细信息:C++ ZeroMQ setsockopt和getsockopt返回无效参数,c++,zeromq,C++,Zeromq,您可能希望对照API规范检查代码以了解详细信息: terminate called after throwing an instance of 'zmq::error_t' what(): Invalid argument Aborted (core dumped) 映射到ZeroMQ API: socket_t::socket_t( context_t &context, int type
terminate called after throwing an instance of 'zmq::error_t'
what(): Invalid argument
Aborted (core dumped)
映射到ZeroMQ API:
socket_t::socket_t( context_t &context,
int type
);
void socket_t::getsockopt( int option_name,
void *option_value,
size_t *option_len
);
及
映射到ZeroMQ API:
socket_t::socket_t( context_t &context,
int type
);
void socket_t::getsockopt( int option_name,
void *option_value,
size_t *option_len
);
第一件事:必须初始化选项长度
int zmq_getsockopt ( void *socket,
int option_name,
void *option_value,
size_t *option_len
);
第二件事:
ZMQ_HWM-这是一个不推荐的选项吗
尝试获取ZMQ_SNDHWM和ZMQ_RCVHWM的值(它们是int`s)对于zeromq 4.x中的hwm变量,使用int而不是long long。有效常数为ZMQ_hwm。使用ZMQ_SNDHWM和ZMQ_RCVHWM会引发编译错误。@Mahi,当前的稳定版本是v4.1.3,为什么使用4.1.4?还要检查zmq.h:我的显示没有zmq_-HWM。
size_t hwmsz = sizeof(unsigned long long);