gpt4 book ai didi

python - 关闭 Twisted 中的非事件连接

转载 作者:行者123 更新时间:2023-12-01 05:57:11 25 4
gpt4 key购买 nike

我正在使用 LineReceiver 协议(protocol)运行 Twisted 服务器。有时客户端会默默地断开连接,因此 Twisted 会保持连接打开。而且由于除非有请求,否则服务器不会发送任何内容,因此永远不会出现 TCP 超时。换句话说,某些连接在服务器端永远不会关闭。

如何让 Twisted 关闭几个小时不活动的连接?

最佳答案

您可以使用reactor.callLater安排定时事件。基于此,有一个用于向协议(protocol)添加超时的帮助器,twisted.protocols.policies.TimeoutMixin

另一种方法是使用 TCP keep-alives,您可以使用传输的 setTcpKeepAlive 方法启用它。

另一种方法是使用应用程序级保持事件。本质上是偶尔发送一个“noop”。它不需要回应。如果连接丢失,发送缓冲区中的额外数据将导致 TCP 堆栈最终注意到。

另请参阅FAQ entry .

关于python - 关闭 Twisted 中的非事件连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11911453/

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