1 出现的问题
(1) 当采用zmq 发送或者接收消息出现超时错误时,使用socket.close(),你进行创建新的socket进行重新连接时,当你重新链接次数达到很多的时候,会出现ZMQError: Too many open files
2 出现的原因
(1)这是由于linux 会对建立的链接的个数和打开文件的个数进行一定的限制,当你有太多文件或者了链接进行创建的时候,,就出现这样的错误.\
(2) socket.close 这个方法仅仅是关闭了链接,但是并没销毁该socket的对象,占用了资源,所以出现了上面的错误
3\ 解决方案
清除socket的对象,清除方案:
client.setsockopt(zmq.LINGER, 10)
LINER 属性设定了在出现了socket的异常之后,多久之内清除该socket的缓存区
1 参考的链接