gpt4 book ai didi

tcp - ZeroMQ 客户端失去连接

转载 作者:可可西里 更新时间:2023-11-01 02:34:03 28 4
gpt4 key购买 nike

我有一个客户端(PULL)连接到服务器(PUSH)。起初他们工作得很好。但稍后连接断开,客户端 ZeroMQ 不会尝试重新连接到服务器。

一件神秘的事情是,如果我在客户端和服务器端执行 netstat,客户端显示连接仍然​​是 ESTABLISHED,而服务器端没有相应的条目。我想这就是客户端不重新连接的原因。

PS:客户端和服务器在不同的IDC,两者之间有带宽限制。但是当断开连接发生时,我们的监视器显示它没有达到频带限制。

而且,当我在服务器端执行 netstat 时(当连接正常时),有时 Send-Q 列非常大,然后下降到 0。

这就是我所拥有的全部信息。如果您需要更多详细信息,请告诉我。

最佳答案

我意识到这是一个非常古老的问题,但我遇到了几乎完全相同的问题并在尝试找到解决方案时发现了这个问题。我相信我已经解决了我的问题,所以希望这在某些时候对某人有所帮助。

我遇到了相同的情况,但使用了 ROUTER -> ROUTER。一开始一切都很好,但是在大约 15 分钟不发送任何消息后,消息将不再发送。然后我发现:http://api.zeromq.org/3-2:zmq-setsockopt .对我有用的三个套接字选项是(使用 pyzmq ):

# self.client is my socket here
self.client.setsockopt(zmq.TCP_KEEPALIVE, 1)
self.client.setsockopt(zmq.TCP_KEEPALIVE_IDLE, 300)
self.client.setsockopt(zmq.TCP_KEEPALIVE_INTVL, 300)

这些会覆盖操作系统设置,我不会再看到连接超时或掉线。

关于tcp - ZeroMQ 客户端失去连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12778299/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com