用于开发python websocket应用程序的Python框架和服务器选择

时间:2019-03-12 20:52:25

标签: python-3.x websocket autobahn autobahnws

我正在寻找一个服务器端应用程序,它将通过浏览器和其他非浏览器客户端通过websocket以及HTTP向客户端提供服务。

我的应用范围包括以下

  1. 通过相同的por提供 websocket和http服务 t
  2. 提供良好的身份验证机制(最好是JWT之类的方法)
  3. 将进行一些RPC和一些小文件读/写操作,以及不频繁的文件上载/下载。
  4. 需要通过websocket进行发布/订阅
  5. 应用程序需要与在不同端口上运行的Java服务器进行交互。
  6. 速度和低内存占用非常重要。 (允许的最大 60 mb内存消耗)
  7. 客户端负载将非常少(一次最多5个)
  8. 目标版本将为python 3.5 +

我遇到的问题是为此用例选择合适的技术。

  1. Autobahn | python对asyncio和twist有良好的websocket提示,但是使用websocket和asyncio时,我无法在同一端口上有效地运行http服务。

  2. Autobahn | python 看起来不错,但没有http服务很好的例子,最重要的是,没有用于websync的HTTP示例。

  3. Autobahn | python 与websocket和http(通过rpy脚本通过wsgi)扭曲是我唯一能解决的问题。但是,由于网上阅读的内容非常扭曲,而且占用的内存很大,因此大多数建议都表明它不适合简单的Web服务。

我很感谢@oberstet(高速公路的作者)提供的有用示例:)到目前为止

  1. 查看了 aiohttp ,但没有找到我需要的示例。

  2. asyncio本身不包含可通过auth和pub / sub沿着websocket运行的wsgi服务器。

  3. 我还搜索了其他选项,但是要么存在异步-同步兼容性问题,要么在同一端口上未提供websocket / http,或者不支持开箱即用的pub / sun。

我希望一些python专家可以指导我为此选择正确的框架/服务器技术。甚至建议将各个组件组合在一起,以帮助实现这一目标。我对python相当陌生,但已经阅读了一些有关它的好东西。

0 个答案:

没有答案
相关问题