系统环境:Windows 7(64位),VS 2013,在64位版本中编译
这是代码:
var clients = new ZSocket(ctx, ZSocketType.ROUTER);
clients.GetOptionString(ZSocketOption.TCP_KEEPALIVE));
如下例外:
ZeroMQ.ZException"" EINVAL(22):参数无效""
答案 0 :(得分:0)
EINVAL ( Error: 22 )
被正确抛出:<强>
EINVAL
强>
请求的选项option_name
未知,或者请求的option_len
或option_value
无效,或者由option_value
指定的option_len
指向的缓冲区大小不足以存储选项值。
ZMQ_TCP_KEEPALIVE
套接字配置选项定义为 int
数据类型,不 a string
。使用适当的clrzmq4绑定接口函数来请求 int
类型option_value
,这将解决第一个API不合规问题。
Option value type int
Option value unit { -1 | 0 | 1 }
Default value -1 ( leave to OS default )
Applicable socket types all, when using TCP transports.
tcp://
传输类(clients
实例时,ZeroMQ API才将此选项定义为有效张贴在上面,不是)。可以在指示socket实例关联第一个 tcp://
传输类引擎(通过相应使用.connect()
或一个.bind()
)。