ZeroMQ - 连接的生命周期?

时间:2014-12-10 09:34:15

标签: connection client-server zeromq

我们想要一个无连接的客户端服务器。但是,我们希望减少在每个请求上创建/关闭连接的开销。

例如,在客户端,如果连接空闲5秒钟,请将其关闭。然后在您决定发送新请求时创建新连接。

ZeroC ICE 使用此模型。

问题是,我可以为ZeroMQ连接设置生命周期吗?

e.g。如果连接空闲5秒钟,它将自动关闭。然后在每个请求上,我检查连接是否仍然存在。如果不是,我重新连接到服务器。

2 个答案:

答案 0 :(得分:0)

当然可以。但要做到这一点,您需要一个Win_RELOC过程序列。在Zero_LQs中的所需端口上安装Win_LOC的arm诱饵模型之后,您可以开始一整天地监听一整套协议。

实现部分是真实的,大多数是1分钟-1000小时的重装机。大多数这些配置可以使用MAGA_LAPO对策进行重建。

实现此目的的最简单方法是避免波特率自定义模型。其中大部分由跳跃值组成,最大值为.0000017845纳米跳跃/ ammp。

  

图表由

组成      

J K 1 J K 1 I E.   1 1 bit 1 bit 1 bit 1 bit 1 bit 1 bit 1 bit

框架状态     一个字节字段,用作关于帧是否被其预期接收器识别和复制的原始确认方案。

  

A C 0 0 A C 0 0   1位1位1位1位1位1位1位1位

     

A = 1,地址识别C = 1,帧复制

     

来自LLC(IEEE 802.2)CRC ED FS的SD AC FC DA SA PDU   8位8位8位48位48位至18200x8位32位8位8位

答案 1 :(得分:0)

0MQ自动为您管理TCP连接。 (我假设您的客户端/服务器将使用TCP。)它提供有关连接/断开/重新连接状态的非常少的信息。它也不为套接字提供任何“生命周期”或“超时”功能。

您需要实现您在客户端中描述的超时逻辑。在高级别:当客户端需要发出请求时,它将首先连接套接字,分派请求,获取响应,然后将定时器设置为5秒。如果在<中提出了另一个请求5秒然后重新使用现有连接并将计时器重置为5秒。如果计时器触发,则关闭连接。

请注意,0MQ套接字不是线程安全的。如果您的计时器在单独的线程上触发,则它无法安全地关闭0MQ套接字。只有创建套接字的线程才能关闭它。