问题标签 [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.

0 投票
2 回答
4095 浏览

python - 具有多处理工作人员的扭曲网络客户端?

所以,我有一个使用 Twisted + Stomper 作为 STOMP 客户端的应用程序,它将工作分配给 multiprocessing.Pool 的工作人员。

当我只使用 python 脚本启动它时,这似乎工作正常,它(简化)看起来像这样:

当它被打包用于部署时,我想我会利用 twistd 脚本并从 tac 文件运行它。

这是我看起来非常相似的 tac 文件:

为了说明起见,我折叠或更改了一些细节;希望它们不是问题的本质。例如,我的应用程序有一个插件系统,池由一个单独的方法初始化,然后使用 pool.apply_async() 将工作委托给池,传递我的插件的一个 process() 方法。

因此,如果我运行脚本 (stompclient.py),一切都会按预期工作。

如果我在非守护程序模式(-n)下运行twist,它似乎也可以正常工作:

但是,当我在守护程序模式下运行时它不起作用:

该应用程序似乎可以正常启动,但是当它尝试分叉工作时,它只是挂起。通过“挂起”,我的意思是似乎从未要求子进程做任何事情,而父进程(称为 pool.apply_async())只是坐在那里等待响应返回。

我确信我用 Twisted + 多处理做了一些愚蠢的事情,但我真的希望有人可以向我解释我的方法中的缺陷。

提前致谢!

0 投票
3 回答
34984 浏览

python - Python 聊天:删除变量以清理函数中的内存?

我正在 python 和扭曲的框架中创建一个聊天守护程序。而且我想知道当连接多个用户时,我是否必须删除函数中创建的每个变量以从长远来看节省内存,或者这些变量是否会自动清除?这是我的代码的精简版本来说明我的观点:

0 投票
2 回答
927 浏览

python - python中带有Twisted框架的聊天服务器无法从Flash客户端接收数据

我在 Python 中使用 Twisted 框架开发了一个聊天服务器。它适用于 Telnet 客户端。但是当我使用我的flash客户端问题出现...

(使用我的旧 php 聊天服务器找到的 flash 客户端工作,我用 python 重写了服务器以获得性能)

在 flash 客户端和扭曲服务器之间建立连接: XMLSocket .onConnect 返回 TRUE。所以这不是策略文件的权限问题。

我无法使用 XMLSOCket 函数 send() 从 Flash 客户端发送任何消息,服务器端没有收到任何消息。我试图用 '\n' 或 '\n\0' 或 '\0' 结束这些消息,但没有成功。

你有什么线索吗?

0 投票
3 回答
290 浏览

python - 网络编程抽象、分解

我有一个问题如下:

服务器进程 1

  • 不断向数据存储发送发生的更新

服务器进程 2

  • 客户端联系服务器,服务器查询数据存储并返回结果

问题是,进程 1 和进程 2 发回客户端的结果是完全不同且不相关的。

如何分解这个?您是否只有一个进程不断发送数据,并将协议定义为具有对应于返回类型是 1 还是 2 的位?

你有两个过程吗?那么他们如何共享数据存储(它只是一个结构而不是数据库)?

谢谢!

0 投票
7 回答
11279 浏览

python - Python 中 Comet 的最新推荐?

我将在 Python 中实现 Comet(尽管我听说了关于 erlycomet 的好消息,但除了后端中的所有其他内容之外,我对支持基于 Erlang 的 Web 服务器并不感到兴奋)。我发现了几种可能性:

(还有其他一些与 Java 服务器交互的选择,但我对这些不感兴趣)

考虑到性能、社区和易于实施,有人可以在这些实施中提出建议吗?

0 投票
4 回答
10139 浏览

python - HTTP 下载非常大的文件

我正在使用 Python/Twisted 开发一个 Web 应用程序。

我希望用户能够下载一个非常大的文件(> 100 Mb)。当然,我不想将所有文件加载到(服务器的)内存中。

服务器端我有这个想法:

我希望这可以工作,但我遇到了问题:我正在使用 FF 进行测试......似乎浏览器让我等到文件下载完成,然后我有打开/保存对话框。

我希望立即出现对话框,然后进度条正在运行......

也许我必须在 Http 标头中添加一些东西......文件大小之类的东西?

0 投票
2 回答
981 浏览

networking - 将单个端口用于多个套接字的标准方法?

嘿,我正在用 Twisted 编写一个应用程序,就目前而言,我有 4 个服务器绑定了两个不同的端口,它们都通过 JSON 与客户端通信。无论如何将这 4 个服务器绑定到同一个端口并且交互保持不变?

例如,假设客户端订阅了两个不同的提要,通过直接套接字传输。

现在我只是喜欢

它将从相应的提要中读取正确的 JSON 字符串。有没有办法维持这种类型的功能,但在同一个端口上联系我的服务器?

我不想将所有服务器功能都投入到一台大型服务器中,并通过标题前缀对数据进行分区。

我不想做类似的事情

0 投票
2 回答
268 浏览

python - 手动给扭曲(网络)网络堆栈一个要处理的数据包?

我正在使用扭曲框架运行 HTTP 服务器。有什么办法可以“手动”要求它处理一些有效载荷?例如,如果我已经构建了一些以太网帧,我可以要求twisted 的reactor 处理它,就好像它刚刚到达我的网卡一样?

0 投票
4 回答
5118 浏览

python - Python - 扭曲和单元测试

我正在为作为 HTTP 服务器运行的应用程序的一部分编写单元测试。我一直尝试采用的方法是导入包含 HTTP 服务器的模块,启动它。然后,单元测试将使用 urllib2 进行连接、发送数据并检查响应。

我们的 HTTP 服务器正在使用 Twisted。这里的一个问题是我对 Twisted 不太熟悉 :)

现在,我实例化我们的 HTTP 服务器并在 setUp() 方法中启动它,然后在 tearDown() 方法中停止它。

问题是,Twisted 似乎不喜欢这样,它只会运行一个单元测试。在第一个之后,反应堆将不再启动。

我一直在搜索和搜索,但我似乎无法找到一个有意义的答案。

我是完全采取了错误的方法,还是只是遗漏了一些明显的东西?

0 投票
2 回答
466 浏览

python - 如何在windows上使用twistedweb和django

我正在寻找一种在 Windows 上部署 django 应用程序的超级简单方法。

基本上,我的计划是设置任何带有我的应用程序的 python Web 服务器,并使用 py2exe 将所有内容绑定到一个可执行文件中。

我尝试过使用cherrypy,但是最新的(3.1.2)服务器不能与安装了Nod32 防病毒软件的Windows XP 一起使用。

所以我决定尝试一下 Twisted。我只在 Twisted 上找到了 Django,但它似乎已经很老了(2008 年),而且它使用了 twistd 命令,这有点难以打包成单个可执行文件。

有没有人有工作剪断或良好的信息来源?