zeromq退出与linger值的设置

来源:互联网 发布:thug life软件下载 编辑:程序博客网 时间:2024/05/19 17:59

默认情况下zeromq的LINGER值被设置为-1,就是说如果网络读写没有进行完是不能退出的。例如你用一个zeromq的socket发送数据,但是数据没有发送出去。那么你调用zmq_term()终止zeromq上下文将阻塞,直到指定的数据正常发送。
你可以使用zmq_setsockopt来设置一个LINGER值。
如果LINGER被设置为0,那么zmq_term时将离开返回,并丢弃一切未完成的网络操作。
如果LINGER被设置的大于0,那么zmq_term将等待LINGER毫秒用来完成未完成的网络读写,在指定的时间里完成或者超时都会立即返回。

1 0