据我了解(请明确纠正错误),所提到的项目/技术如下: -
Crossover.io - WAMP的路由器。跨语言
WAMP - 异步消息传递协议,支持(其中包括)Pub / Sub和RPC。跨语言
twisted - 异步循环,主要用于网络(低级别)。特定于Python。据我所知,python中的当前crossover.io实现是建立在twisted之上的。
klein - 建立在扭曲的仿真瓶顶部,但是异步(并且没有使烧瓶更容易使用的插件)。特定于Python。
django / flask / bottle - 用于提供Web内容的各种堆栈/解决方案。所有这些都是同步的,因为它们实现了WSGI。特定于Python。
他们如何互动?例如,我可以看到,各种python应用程序之间的网络连接如何扭曲,以及任何语言的应用程序之间的WAMP(crossover.io是路由选项)。
但是对于网络来说,通常需要某种形式的基于HTTP /浏览器的连接,这就是Python django和历史上一直使用的替代方案。然而,就它们与交叉/扭曲之间的相互作用而言,我似乎找不到太多。
要清楚的是,有钩针(和klein)之类的东西,但这些似乎都没有解决我认为是一个基本问题的问题,而是说'我想要一个基础问题的反应用户界面python代码'。或者另一个基本问题是'我想让我的python代码更新当前正在查看的网页'。
传统上我认为它是用django等服务的网页上的AJAX处理的。但是,这似乎在有限的硬件上的可扩展性远远低于异步方法(由于扭曲和龙卷风等,它在python中完全可行)。
摘要 WAMP / twisted和django / flask / bottle等底层组件之间是否存在“自然”相互作用?如果是这样,它是如何工作的。
答案 0 :(得分:0)
使用WAMP的Web应用程序,您有两种不同的机制:提供Web资产和Web应用程序,然后与后端(或其他WAMP组件)进行通信。
您可以使用Django,Flask或任何其他Web框架来提供资产 - 或者集成到Crossbar.io中的静态Web服务器。
作为资产的一部分提供的JavaScript然后连接到Crossbar.io(或其他WAMP路由器),后端或其他组件也是如此。然后将其用于例如发送数据以显示到Web前端或传输用户输入。