ZeroMQ setsockopt 和 getsockopt reing无效参数
ZeroMQ setsockopt and getsockopt returing invalid argument
int main ()
{
zmq::context_t context(1);
// Socket to talk to clients
zmq::socket_t push (context, ZMQ_PUSH);
unsigned long long hwm;
size_t hwmsz;
push.getsockopt( ZMQ_HWM, &hwm, &hwmsz);
cout << "HWM:" << hwm << endl;
}
执行上述代码会导致使用 zeromq 版本 4.1.4 出现以下异常。任何套接字选项都会导致 setsockopt()
和 getsockopt()
的参数无效。
terminate called after throwing an instance of 'zmq::error_t'
what(): Invalid argument
Aborted (core dumped)
您可能需要根据 API 规范检查代码以了解详细信息:
socket_t::socket_t( context_t &context,
int type
);
映射到 ZeroMQ API:
void *zmq_socket ( void *context,
int type
);
和
void socket_t::getsockopt( int option_name,
void *option_value,
size_t *option_len
);
映射到 ZeroMQ API:
int zmq_getsockopt ( void *socket,
int option_name,
void *option_value,
size_t *option_len
);
第一件事:必须初始化选项长度。
size_t hwmsz = sizeof(unsigned long long);
第二件事:
ZMQ_HWM - 这是一个已弃用的选项吗?
尝试获取 ZMQ_SNDHWM 和 ZMQ_RCVHWM 的值(它们是 int(
相关文章:
- 为什么 CRTP 模板C++给出无效参数错误?
- 为什么此字符串在传递到stoi时被视为无效参数
- boost::asio::async_write无效参数
- C ++回测问题:如何检查构造函数在假定失败时是否失败(给定输入的无效参数)
- 无效参数 C++ cygwin
- 套接字接受无效参数 (c++)
- 从带有 getline() 的文件读入一行上有多个信息得到无效参数错误
- 将无效参数传递给将无效参数视为致命的函数
- 如何避免字符串到整数转换情况下的无效参数异常
- 张量流 无效参数:In[0] 不是矩阵
- cudaFreeHost() 无效参数错误
- 未经治疗的例外,无效的参数传递给了一个认为无效参数作用的函数
- C++带有可变参数模板的无效参数
- std::find是否隐式修复无效参数
- 为什么这个程序告诉我传递了无效参数
- 在Win32中获取SetConsolecursorPosition函数的ERRORRORNO 87(无效参数)
- MSVCR120.dll的无效参数错误(在64位窗口中构建Tesseract Lib)
- 在C++中使用字符串类的 .substr 获取无效参数
- MySQL++ 无效参数错误
- 搜索无效参数