Skip to main content
 首页 » 编程设计

Tornado Web 应用程序中的 Python xmpp jabber 客户端

2025年05月04日21lyhabc

我是桌面程序员,但我想学习一些关于网络服务的知识。我决定使用 python。我正在尝试了解 Web 应用程序的工作原理。我知道如何创建基本的 Tornado 网站(请求 - 响应)和工作的 jabber 客户端,但我不知道如何混合使用它们。我可以在 Web 服务中使用任何 Python 组件吗?它们是否必须具有特定结构(同步或异步)?因为我陷入了循环处理程序:

如果tornado通过命令启动web服务器:

app = Application() 
app.listen(options.port) 
tornado.ioloop.IOLoop.instance().start() 

...那么我如何(在哪里)开始 xmpp 循环?

client.connect() 
client.run() 

我认为 tornado 监听循环应该处理 xmpp 监听,但不知道如何

问候。

编辑:我忘了。我正在使用 pyxmpp2

请您参考如下方法:

我相信你试图完成的事情在 python 的一个线程中是不可行的,因为两者都试图同时监听,这在一个线程中是不可能的。我可以建议看看 this线程教程。

另一个问题是您是在尝试制作基于 Web 的 xmpp 还是只是让 xmpp 和 html 服务器在同一脚本中运行。如果您想尝试前者,我建议您使用 zeromq 研究线程间通信。或 queue