问题标签 [twisted.internet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6683 浏览

python - 扭曲的未处理错误

当扭曲反应器正在运行并且在未捕获的延迟中发生异常时,“未处理的错误”将与回溯和异常一起打印到终端。是否可以处理/拦截这些异常(例如,设置回调或覆盖方法)?

编辑:我知道我可以通过将 errback 添加到 deferrerd 来捕获失败。我想知道的是,是否有办法拦截一个未处理的故障/异常,该故障/异常已经沿着链向上到达反应堆。

编辑:本质上,我想知道扭曲反应器是否有全局错误处理程序或可以访问的东西。我想知道,因为它会打印故障的回溯和错误。

例子:

0 投票
1 回答
743 浏览

twisted - 使用另一个 Socket/TCP/RPC 服务扩展现有的 Twisted 服务以获取服务信息

我正在实现一个基于 Twisted 的心跳客户端/服务器组合,基于这个例子。这是我的第一个 Twisted 项目。

基本上它由一个 UDP 侦听器 ( ) 组成,它在接收包时Receiver调用侦听器方法 ( )。DetectorService.updateDetectorService 始终保存当前活动/非活动客户端的列表(我对示例进行了很多扩展,但核心仍然相同),从而可以对在指定超时后似乎断开连接的客户端做出反应。

这是从该站点获取的来源:

此心跳服务器作为后台守护程序运行。

现在我的问题

我需要能够“从外部”运行脚本以在控制台上打印离线/在线客户端的数量,接收者在其一生中收集这些数量(self.beats)。像这样:

所以我需要在我的 DetectorService 中添加某种额外的服务器(Socket、Tcp、RPC - 没关系。重点是我能够构建具有上述行为的客户端脚本),它允许从外部连接到它。它应该只对请求做出响应。

该服务器需要访问正在运行的检测器服务实例的内部变量,所以我猜测我必须使用某种附加服务来扩展 DetectorService。

经过几个小时尝试将检测器服务与其他几个服务结合起来,我仍然不知道实现这种行为的最佳方法是什么。所以我希望有人能给我至少基本的提示如何开始解决这个问题。提前致谢!!!

0 投票
1 回答
2068 浏览

python - 扭曲的异步请求处理

如何像在 Node.js 中一样在 Twisted 中进行异步请求处理?

我用 Twisted 编写了示例,但我的应用程序仍然等待长时间操作的答案(我用 time.sleep 模拟这个)。

另外我不明白如何正确使用 reactor.callLater。

这是我的扭曲应用程序示例。

编辑:现在的问题是如何编写同步代码?请举例。

0 投票
0 回答
3050 浏览

python - Twisted:如何破坏连接?

我保留了如下设置的客户端连接列表:

如果该项目仍处于连接状态,并且我调用del cons[5],则连接对象仍然存在。我可以在我的服务器控制台中看到输出。不过,该对象肯定已从字典中消失了。

我可以在其上调用 .disconnect() ,然后调用del cons[5],它会断开并删除该项目,但我担心连接仍然存在于某处。

破坏这些连接之一的正确方法是什么?

0 投票
1 回答
3351 浏览

python - 扭曲的非阻塞方法 - 如何?

我的代码如下所示:

输出:

1

到目前为止,一切都很好,但是 HTTP 响应(返回“完成”)仅在延迟(time.sleep(2))之后发生。我可以这么说,因为浏览器会保持“加载”2 秒。

我究竟做错了什么?

0 投票
2 回答
1984 浏览

python - 创建 Twisted TCP 套接字并发送测试值

我正在使用 TCP/IP 协议设置套接字,并且由于我的接收器正在处理int8u_t我想知道这种方法是否正确。

在连接时,服务器必须向接收者发送一个值,该值mode=int(42)def connectionMade(self). 但我知道会有一些冲突,因为 python 中的普通 int 是 32 位的,而我的接收器只有 8 位,我可以以某种方式转换它或在 int8u 中创建它吗?

0 投票
1 回答
1060 浏览

python - 扭曲的传递证书到 ssl 处理程序

我正在设计一个 ssl 服务器,我在其中使用 ssl 的twisted,它需要客户端证书身份验证才能继续程序,当我验证客户端的 ssl 证书时,它返回 True,但我想在客户端证书,以便我可以在处理程序类中获取该特定客户端的设置,您能帮帮我吗?

0 投票
1 回答
732 浏览

twisted.internet - ... twisted/internet/epollreactor.py”,第 238 行,在 _add

遇到麻烦,服务端程序运行一段时间后,会出现大量的错误(error),服务端只能接受客户端连接不接受数据,最后暂停动画。以下错误:</p>

0 投票
1 回答
691 浏览

python - 扭曲矩阵,将自定义类挂钩到事件循环

试图构建一个扭曲的应用程序,它将在多个端口上接收消息。端口应该生成Alert具有tag属性和trigger属性的对象。然后应用程序应该检查是否已经存在AlertJob带有该标签的标签。如果有,则应将其排入队列AlertAlertJob如果没有,则应首先创建新的AlertJob. 的AlertJob... 工作是定期检查触发器,如果​​满足触发器条件,则再次通知主应用程序。这是我的问题:

如何将自定义类(AlertJob)挂接到扭曲的反应器中,以便它不断验证是否满足任何正在运行的作业的触发条件?

0 投票
1 回答
215 浏览

python - Python / 扭曲矩阵和 SOAP 线程

我有一个使用 Python / Twisted Matrix 构建的应用程序,它使用来自 SOAP 客户端的方法来发送一些消息。问题是有时我想发送很多消息,而当这种情况发生时,我想在多个线程中进行。例如,如果我必须发送 100 条消息,我希望将其分成 20 条消息组并创建 5 个线程来并行发送消息。

我应该寻找什么?有任何想法吗 ?我还希望线程能够报告收集到的数据

PS 考虑到与 SOAP 客户端一起工作可能更像是一个等待的问题......你认为线程不是解决这个问题的最佳方法吗?肥皂客户端的回调可以用来创建某种发送者的“池”,并让发送者以某种方式发送新的东西吗?想法?