关闭 Twisted 中的非活动连接

2023-12-15

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

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


您可以使用安排定时事件reactor.callLater。基于此,有一个帮助程序可以为协议添加超时,twisted.protocols.policies.TimeoutMixin.

另一种方法是使用 TCP keep-alive,您可以使用传输的setTcpKeepAlive method.

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

另请参阅常见问题解答入口.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关闭 Twisted 中的非活动连接 的相关文章

  • Python dict 到 DataFrame Pandas - 级别

    几个月前 Romain X 在这个问题上帮了我很多忙 Python 字典到 DataFrame Pandas https stackoverflow com questions 32770359 python dict to datafra
  • 检查时间戳列是否在另一个数据帧的日期范围内

    我有一个数据框 df A 有两列 amin 和 amax 这是一组时间范围 我的目标是查找 df B 中的列是否位于 df A amin 和 amax 列中范围的任何行之间 df A amin amax amin amax 0 2016 0
  • Python矩阵问题[重复]

    这个问题在这里已经有答案了 这是从这个线程继续的 Python矩阵 有什么解决方案吗 https stackoverflow com questions 5835583 python matrix any solution Input fr
  • 为什么 Numpy 创建零数组比用零替换现有数组的值要快得多?

    我有一个用于跟踪各种值的数组 数组是2500x1700尺寸上 所以不是很大 在会话结束时 我需要将该数组中的所有值重置为零 我尝试创建一个新的零数组并将数组中的所有值替换为零 并且创建一个全新的数组要快得多 代码示例 for in sess
  • 如何实现带有 ([start ,] stop [ step]) 签名的 python 方法,即左侧的默认关键字参数

    由于在 python 3 X 中 build idrange 函数返回的不再是一个列表 而是一个可迭代的 一些旧代码在我使用时失败range 方便地生成我需要的列表 所以我尝试实现我自己的lrange像这样的函数 def lrange st
  • 无法解析 ReferenceProperty -- App Engine

    我遇到了一个错误 无法找出其根本原因 错误如下 ReferenceProperty 无法解析 u StatusLog STATUSLOGSID 此错误仅有时发生 大约一天一次或两次 生成此错误的脚本成功的次数多于失败的次数 该错误最奇怪的事
  • 更改散景图中选项卡的样式

    我想知道是否有办法更改散景图上生成的选项卡的属性 诸如增加文本字体 更改制表符宽度等更改 以下是用于生成具有两个选项卡的绘图的简单代码 from bokeh models widgets import Panel Tabs from bok
  • Keras 中的条件批量归一化

    我正在尝试在 Keras 中实现条件批量标准化 我假设我必须创建一个自定义层 因此 我从正常化 https github com keras team keras blob master keras layers normalization
  • sqlalchemy,使用反向包含(不在)子列值列表中进行选择

    我在flask sqlalchemy 中有一个典型的帖子 标签 与一篇帖子相关的许多标签 关系 并且我想选择我提供的列表中未标记任何标签的帖子 首先 我建立的模型 class Post db Model id db Column db In
  • python中终止进程的跨平台方法

    当我尝试使用 subprocess Popen terminate 或 Kill 命令终止 Windows 中的进程时 出现访问被拒绝错误 如果文件不再存在 我真的需要一种跨平台的方式来终止进程 是的 我知道这不是做我正在做的事情的最优雅的
  • iter(fp.readline, '') 中的行而不是 fp 中的行:

    我读了内置函数iter的例子在内置函数 Python 3 7 0 文档 https docs python org 3 library functions html iter with open mydata txt as fp for l
  • matplotlib 中矩形面片之间存在不需要的空间

    以下代码绘制两个红色矩形 红色矩形应该彼此相邻 之间没有空间 在 python 图中 这是可以的 在导出的 pdf 中 矩形之间有一个细长但明显的空白 有什么方法可以解决这个问题吗 import matplotlib pyplot as p
  • 如何在 django 中发出 post 请求后获取表单的名称?

  • Pandas 对 HDFStore 中的大数据进行“分组”查询?

    我有大约 700 万行HDFStore有60多个柱子 数据超出了我的记忆能力 我希望根据 A 列的值将数据聚合到组中 pandas 的文档分割 聚合 组合 http pandas pydata org pandas docs stable
  • 如何更改Python中的全局变量[重复]

    这个问题在这里已经有答案了 我正在尝试更改程序中的变量 我在程序开始时声明了一个全局变量 我想在程序中的不同函数中更改该变量 我可以通过再次声明函数内的变量来做到这一点 但我想知道是否有更好的方法来做到这一点 下面是一些测试代码来解释我的意
  • Django populate() 不可重入

    当我尝试在生产环境中加载 Django 应用程序时 我不断收到此消息 我尝试了所有的 stackoverflow 答案 但没有任何解决办法 任何其他想法 我使用的是 Django 1 5 2 和 Apache Traceback most
  • 计算列表中的子列表

    L 2 4 5 6 2 1 6 6 3 2 4 5 3 4 5 我想知道任意子序列出现了多少次 s 2 4 5 例如会返回2次 I tried L count s 但它不起作用 因为我认为它期望寻找类似的东西 random numbers
  • 使用 Python PuLP 混合整数规划的时间限制

    我一直在使用PuLP http pythonhosted org PuLP 解决我感兴趣的特定混合整数线性规划 MIP 但是 随着问题规模的增长 PuLP 花费的时间太长 我希望能够运行求解器一段时间 并在需要很长时间的情况下提前终止它 并
  • Python tkinter:在组合框中使用“文本变量”似乎没用

    使用textvariable在 tkinter 中创建组合框时的属性似乎完全没用 有人可以解释一下目的是什么吗 我查看了 Tcl 文档 它说textvariable用于设置默认值 但看起来在 tkinter 中您只需使用 set方法来做到这
  • 关闭 IPython Notebook 中的自动保存

    我正在寻找一种方法来关闭 iPython 笔记本中的自动保存 我已经通过 Google Stack Overflow 搜索看到了有关如何打开自动保存的参考资料 但我想要相反的内容 关闭自动保存 如果这是可以永久设置的东西而不是在每个笔记本的

随机推荐

  • 如何在 Flutter 中创建服务以使应用程序始终在后台运行?

    我想让我的 Flutter 应用程序始终在后台运行 对于android 我们必须创建一个始终在后台运行的Service 我在 Flutter 文档中没有找到有关服务的内容 Flutter 可以做这样的事情吗 没有办法直接从 flutter
  • 并行文件匹配,Python

    我正在尝试改进扫描文件中是否存在恶意代码的脚本 我们在文件中有一个正则表达式模式列表 每行一个模式 这些正则表达式适用于 grep 因为我们当前的实现基本上是 bash 脚本 find grep 组合 bash 脚本在我的基准目录上花费了
  • 如何在 github 操作工作流程中引用“环境”?

    I have the environment created named main but the workflow below errors out environment created 以下是我的 github 工作流程 name D
  • 使用 Javascript 根据另一个下拉列表中选择的内容设置下拉值

    我有几个下拉菜单 其值很容易获得 如下所示 下拉菜单 1
  • Android 颜色选择器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 有谁知道我可以在我的应用程
  • 用户搜索屏幕的 Linq 动态查询

    我有一个数据库 它有一个 动态 的用户搜索屏幕 因为我可以根据搜索所基于的特定视图中可用的列动态添加其他搜索条件 并且它将允许用户使用它们立即地 以前我一直在该数据库中使用 nettiers 但现在我正在使用 RIA EntFramewor
  • 如何使用子进程模块杀死(或避免)僵尸进程

    当我使用 subprocess 模块从另一个 python 脚本中启动一个 python 脚本时 当子进程 完成 时会创建一个僵尸进程 除非我杀死我的父 python 进程 否则我无法杀死这个子进程 有没有办法在不杀死父进程的情况下杀死子进
  • 如何在Windows 7上安装ImageMagick(二)

    希望尽管问题标题相似 但这不是重复的问题 我已经安装了ImageMagick 6 7 5 6 Q16 windows dll exe I have php imagick dyn Q16 dll重命名为php imagick dll在 PH
  • 仅从 int 值中删除 csv 文件中的前导零

    我有这个 csv 文件 我试图从中删除前导零 但是使用我的代码来处理任何包含字母或特殊字符的数字 它会清空该值 我不希望这样 column1 column2 column3 column4 column5 column6 column7 c
  • Tkinter 中的文本输入

    Goal 我正在尝试编写一个基本文件 我可以将其导入到所有其他程序中 该程序将具有一个简单的函数 可以从用户那里获取输入然后返回它 Code 为此 我有以下代码 class takeInput object def init self re
  • 在服务中设置线程优先级没有任何效果[关闭]

    Closed 这个问题需要调试细节 目前不接受答案 在 Windows 服务中设置线程优先级之前是否需要一些额外的配置 在我的服务中 我有几个线程 每个线程都调用CreateProcess 启动外部应用程序的函数 我想调整线程 或进程 优先
  • 如何在android中放大/缩小ImageView(不使用Canvas)

    我正在开发一个应用程序 其中我必须在另一个图像 较大的图像 上旋转 拖放和放大 缩小图像 较小的图像 我完成了旋转和拖放 但无法实现放大 缩小 我知道如何在画布上执行此操作 但在我的应用程序中我没有使用画布 任何帮助将不胜感激 谢谢 达文德
  • PHP 对象的动态命名

    如何动态为 php 对象分配名称 例如 我如何将一个对象分配给一个 var 它是我用来创建对象的数据库行的 id 例如
  • 有没有人在windows平台上成功部署到heroku上?

    我一直在阅读各种有关如何从 Windows 在 Heroku 上部署 Rails 应用程序的教程 我尝试过安装 git heroku gem 生成 ssh 密钥并设置路径等等 我收到公钥错误 没有腻子 或致命的未找到身份验证 有腻子 在遇到
  • 使用 FlowLayout 时 JTextField 显示为狭缝...请解释

    有人可以向我解释一下为什么我每次都使用 FlowLayout 布局管理器吗 我的文本字段显示为狭缝 我已经被这个问题撞了一段时间了 我似乎无法弄清楚 找出为什么会出错 我有一种感觉 这是一件简单的事情 我一次又一次地忽视 所以如果 有人可以
  • sklearn 如何计算两个二进制输入的 roc 曲线下的面积?

    我注意到sklearn有以下功能 sklearn metrics roc auc score 它以 ground truth 和预测作为输入 例如 ground truth 1 1 0 0 0 prediction 1 1 0 0 0 sk
  • 地理围栏 - 点在多边形内部/外部

    我想确定一个多边形并实现一个算法来检查一个点是在多边形内部还是外部 有谁知道是否有任何类似算法的示例 如果我没记错的话 该算法是通过测试点画一条水平线 计算出有多少条多边形线相交才能到达您的点 如果答案很奇怪 那么你就在里面 如果答案是偶数
  • 使用长字符串调用 body.search() 时抛出 InvalidArgument 异常

    context document body search 正在扔一个InvalidArgument当要搜索的文本长度超过 255 个字符时 桌面版 Word 2016 中出现异常 Word Online 似乎也是如此 这是失败的代码 var
  • 找出两个 ICollection 集合是否包含相同对象的最快方法

    找出两个是否存在的最快方法是什么ICollection
  • 关闭 Twisted 中的非活动连接

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