1

使用 jzmq 包装器:

scala> 导入 o​​rg.zeromq.ZMQ 导入 o​​rg.zeromq.ZMQ

scala> val context = ZMQ.context(1)
context: org.zeromq.ZMQ.Context = org.zeromq.ZMQ$Context@56d58984

scala> val socket = context.socket(ZMQ.REP)
socket: org.zeromq.ZMQ.Socket = org.zeromq.ZMQ$Socket@2a5a0f9

scala> socket.getHWM()
res6: Long = -1

scala> socket.setHWM(200)

scala> socket.getHWM()
res8: Long = -1

这似乎在版本 3 中已被弃用:

https://github.com/zeromq/jzmq/blob/750f2eecaa4c71adf86c156fab5840a2f614d4ea/src/org/zeromq/ZMQ.java#L895-900

有谁知道为什么?使用 jzqm + zmq3 设置 HWM 的替代方法是什么?

4

2 回答 2

5

看看:http: //zeromq.org/docs :3-1-upgrade

在 zeromq 3.2 中,HWM 被分为发送和接收高水位标记:ZMQ_SNDHWMZMQ_RCVHWM.

您在 jzmq 中寻找的功能是:

long    getRcvHWM()
long    getSndHWM()
void    setRcvHWM(long rcvHWM)
void    setSndHWM(long sndHWM) 
于 2013-08-08T15:29:07.820 回答
2

CZMQ 绑定模拟旧的 HWM 选项,其他绑定可能会这样做。

于 2013-08-08T20:26:01.360 回答