zoukankan      html  css  js  c++  java
  • zeroMQ:zmq_setsockopt

    ZMQ_LINGER: 设置socket关闭时的停留时间

    ZMQ_LINGER选项用来设置指定socket的停留时间。ZMQ_LINGER决定了在使用zmq_close()关闭socket后,尚未发送到对等端的消息在内存中停留的时间。进而会影响到使用zmq_term()关闭socket上下文。以下概述了不同的选项:

    • 默认值-1指示停留无限长时间。在执行zmq_close()后,等待发送的消息不得被丢弃;尝试使用zmq_term()关闭socket上下文的操作会被阻塞,直到所有消息被发送到对等端口。
    • 0值不指定停留时间。当使用zmq_close()关闭socket时,队列中还未发送的消息将被立即丢弃。
    • 正值指定停留时间的上限,单位为毫秒。在调用zmq_close()之后,等待发送的消息不得被丢弃;尝试使用zmq_term()终止套接字上下文将被阻塞,直到所有待发送的消息都发送到对等端口,或者保持期到期,之后任何没有被发送的消息将被丢弃。
        选项类型      int  
        单位         毫秒  
        默认值       -1(无限)  
        适用socket   all
    

    注意,在实际使用中,4.0.4版本,作为服务时,这个选项似乎没用,默认行为为不等待,造成最后一个消息丢失


    ZMQ_IMMEDIATE: 仅在连接完成时才会将消息入列

    默认情况下,即使连接尚未完成,传出连接的队列也将填入消息。 这可能导致带循环路由(REQ,PUSH,DEALER)的套接字“丢失”消息。 如果此选项设置为1,则消息将仅入队到已完成的连接。 如果没有其他连接,这将导致套接字阻塞,但会阻止队列填充等待连接的管道。

        选项类型    int
        单位       boolean
        默认值     0(false)
        适用socket 所有面向连接的传输
    
  • 相关阅读:
    javascript 事件冒泡
    Java 理论与实践: 正确使用 Volatile 变量
    Concurrency,Java 并发
    POJ2379 ACM Rank Table 模拟题
    HDU1711Number Sequence KMP
    POJ1061 青蛙的约会 扩展GCD
    HDU2523 SORT AGAIN HASH
    HDU2087剪花布条 KMP
    HDU3736 Cyclic Nacklace KMP
    HDU1709The Balance 母函数
  • 原文地址:https://www.cnblogs.com/kohlrabi/p/7567466.html
Copyright © 2011-2022 走看看