0

据我了解(显然,请纠正误解),提到的项目/技术如下:-

Crossover.io - WAMP 的路由器。跨语言。

WAMP - 一种异步消息传递协议,支持(除其他外)Pub/Sub 和 RPC。跨语言。

twisted - 一个异步循环,主要用于网络(低级)。特定于 Python。据我所知,python 中当前的 crossover.io 实现是建立在 twisted 之上的。

klein - 建立在扭曲的模拟烧瓶之上,但异步(并且没有使烧瓶更易于使用的插件)。特定于 Python。

django/flask/bottle - 用于提供 Web 内容的各种堆栈/解决方案。所有都是同步的,因为它们实现了 WSGI。特定于 Python。

他们如何互动?例如,我可以看到,twisted 如何用于各种 python 应用程序之间的网络连接,以及任何语言应用程序之间的 WAMP(crossover.io 是路由的一个选项)。

但是,对于网络,通常需要某种形式的基于 HTTP/浏览器的连接,这就是 Python django 和替代方案历史上使用的地方。然而,在它们之间的交互和交叉/扭曲方面,我似乎找不到太多。

需要明确的是,有钩针(和克莱因)之类的东西,但这些似乎都不能解决我认为是基本问题的问题,即说“我希望对一些底层 python 代码有一个反应式用户界面” . 或者“我想让我的 python 代码更新当前正在查看的网页”的另一个基本问题。

传统上,我猜它使用 AJAX 处理,并且在 django et 提供的网页上类似。al.,但在有限的硬件上,这似乎比异步方法可扩展性要小得多(由于扭曲和龙卷风等,这在 python 中是完全可行的)。

总结 WAMP/twisted 和 django/flask/bottle 等底层组件之间是否存在“自然”交互?如果是这样,它是如何工作的。

4

1 回答 1

0

对于使用 WAMP 的 Web 应用程序,您有两种独立的机制:提供 Web 资产和 Web 应用程序,然后与后端(或其他 WAMP 组件)通信。

您可以使用 Django、Flask 或任何其他 Web 框架来提供资产 - 或集成到 Crossbar.io 中的静态 Web 服务器。

您作为资产的一部分提供的 JavaScript 然后连接到 Crossbar.io(或另一个 WAMP 路由器),后端或其他组件也是如此。然后,这用于发送数据以显示到 Web 前端或传输用户输入。

于 2016-01-15T16:13:24.717 回答