设置ZeroMQ重新连接间隔C#

时间:2014-03-04 10:04:38

标签: c# zeromq

我最近发现了zeromq的精彩世界及其为开发人员所做的所有工作 - 太棒了!深入挖掘指南和手册给我留下了一个问题:如何在C#中设置重新连接间隔?

我知道有类似

的东西
using (ZmqSocket subscriber= context.CreateSocket(SocketType.SUB))
{
    subscriber.ReconnectInterval = new TimeSpan(hours: 0, minutes: 0, seconds: 30);
    subscriber.ReconnectIntervalMax = new TimeSpan(hours: 0, minutes: 1, seconds: 0);
}

并且默认情况下zeromq每100毫秒执行一次重新连接,但如果我想将间隔更改为更多,例如30秒,该怎么办?我实际上尝试过上面的片段 - 但它反正对我不起作用。仍有尝试每秒重新连接10次。

另外:如何将重新连接间隔设置为“-1”? ZeroMQ指南说(对于语言C)

  

值-1表示没有重新连接。

但是如何将C#中的Timespan设置为“-1”(或者需要等效的zeromq)?

1 个答案:

答案 0 :(得分:0)

好吧,我想我是这样做的:

public static void DisableReconnect(this ZmqSocket socket)
{
   socket.ReconnectInterval = TimeSpan.FromMilliseconds(-1);
}

构建了socket类的扩展,并完成了C接口所期望的:-1毫秒。 MSDN库说-1毫秒是不可能的(并导致异常)但到目前为止它对我有用了!