问题标签 [twisted]
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.
python - Twisted:带有推送生产者示例的 tcp 服务器?
我想使用 Python 和 Twisted 组合简单的 TCP 服务器。
服务器启动并等待连接 - 我已经有客户端 - 非 python 应用程序。一旦建立连接,服务器就会以某个时间间隔(例如 1 秒)开始发送数据。
服务器从静态文件中读取数据(一次一条记录),我应该能够弄清楚这部分。
我假设一旦客户端连接,我将使用推送生产者开始推送数据。
我有一个简单的 tcp 服务器,工厂是扭曲的,我可以对 connectionMade/dataReceived 等做出反应,但我不知道如何插入推送生产者。
任何人都知道任何显示带有 tcp 服务器的推送生产者的例子吗?
python - 扭曲和线程的问题
你们中的一些使用 Twisted 更有经验的人可能会判断我是否将它与线程一起使用 - 但我做到了:)。现在我遇到了麻烦 - 我有一个应用程序服务器来监听客户端请求,每次新客户端连接它都会产生另一个我可能忘记正确关闭的线程,因为经过一段时间的大量使用服务器停止处理请求。好吧,我有 3 种不同类型的线程,其中一种发生了 - 问题是我不确定什么是正确的方法,因为它Thread.join()
似乎不起作用,并且当服务器停止工作时,这样做cat /proc/<pid>/status
总是会给我。Threads: 43
所以我正在寻找一种调试方法,看看如何正确关闭线程。
是的,我知道这个问题:
可能还有很多其他人。
python - Twisted:出站连接的源 IP 地址
我正在实施一项服务——用 Python 编写,使用 Twisted 框架,在 Debian GNU/Linux 上运行——检查 SIP 服务器的可用性。为此,我使用 OPTIONS 方法(一种 SIP 协议功能),因为这似乎是一种司空见惯的做法。为了构造正确且符合 RFC 的标头,我需要知道要建立的连接的源 IP 地址和源端口。[如何] 使用 Twisted 可以做到这一点?
这就是我尝试过的:我将protocol.DatagramProtocol子类化并在其中startProtocol(self)
使用self.transport.getHost().host
and self.transport.getHost().port
。后者确实是要使用的端口,而前者只产生 0.0.0.0。
我想此时 Twisted [还没有?] 知道将使用哪个接口以及哪个源 IP 地址。Twisted 是否提供了可以帮助我解决此问题的工具,还是我需要以不同的方式与操作系统(路由)交互?还是我使用self.transport.getHost().host
不当?
python - 如何从 Twisted 中推迟 Django DB 操作?
我有一个正常的 Django 站点正在运行。此外,还有另一个扭曲的过程,它监听 Jabber 存在通知并使用 Django 的 ORM 更新 Django DB。
到目前为止,我只是调用了相应的 Django 模型(在正确设置了设置环境之后)。然而,这会阻止 Twisted 应用程序,这不是我想要的。
由于我是新手,我不知道,最好的方法是使用延迟以非阻塞方式访问 Django DB(通过其 ORM)。
- 延迟生成器?
- twisted.enterprise.adbapi ?(绕过ORM?)
- ???
如果解析存在消息,我想在 Django DB 中保存具有 jid_str 的用户在线/离线(使用 Django 模型UserProfile
)。我用那个功能来做:
目前,我调用它:
python - python扭曲框架HttpClient是否访问代理?
我需要使用访问网页
或从已知地址(即:www.google.com)下载网页的类似方法,问题是:我在代理服务器后面,我找不到任何关于如何配置扭曲或工厂使用我的解释代理,有什么想法吗?
请记住,我必须指定用户、密码、主机和端口。在我的 linux 机器上,我设置http_proxy
并https_proxy
http://user:pwd@ip:port
先感谢您。
python - 测试扭曲的应用程序 - 加载客户端
我编写了一个基于 Twisted 的服务器,我也想使用 twisted 对其进行测试。
但我想写一个负载测试,同时启动一堆请求。
但我相信我没有得到 Twisted 的概念,主要是客户端,因为我被这个问题困住了:
socket_client.py:35: DeprecationWarning: Reactor 已经在运行!
自 Twisted 8.0 reactor.run(installSignalHandlers=0)以来,此行为已被弃用
我错过了什么?
如何测试它?
谢谢,
塞缪尔
python - 如何获取 XML 文档并使用 Python twisted 对其进行解析?
我想要一种快速获取 URL 并在流式传输时解析它的方法。理想情况下,这应该非常快。我选择的语言是 Python。我有一种直觉,扭曲可以做到这一点,但我找不到一个例子。
python - 如何通过远程文件系统进行非阻塞读/写
有没有办法在远程文件系统(例如 NFS、SSHFS 或 sambafs)上以读取或写入甚至打开返回错误代码的方式写入和读取文件?事实上,我正在使用 Twisted,我想知道是否有一种安全的方法可以访问远程文件而不会阻塞我的反应器。
python - TCP是否保证按顺序到达?
如果我发送两条 TCP 消息,是否需要处理后者先于前者到达的情况?还是保证按照我发送的顺序到达?我认为这不是一个特定于 Twisted 的示例,因为它应该符合 TCP 标准,但是如果任何熟悉 Twisted 的人可以为我自己的安心提供一个特定于 Twisted 的答案,那将不胜感激:-)
python - 如何减少 Twisted 服务器的内存使用量?
我用 Python/Twisted 编写了一个音频广播服务器。它工作正常,但内存使用量增长太快!我认为这是因为某些用户的网络可能不够好,无法及时下载音频。
我的音频服务器将音频数据广播到不同听众的客户端,如果其中一些不能及时下载音频,这意味着我的服务器会保留音频数据,直到听众收到为止。更重要的是,我的音频服务器是一个广播服务器,它接收音频数据,并将它们发送到不同的客户端,我虽然 Twisted 将这些数据复制到不同的缓冲区,即使它们是相同的音频片段。
我想减少内存使用的使用,所以我需要知道客户端何时接收到音频,以便我可以决定何时丢弃一些慢客户端。但我不知道如何使用 Twisted 实现这一目标。有人知道吗?
我还能做些什么来减少内存使用量?
谢谢。维克多·林。