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