Python-socketio与Gevent-socketio的比较

4
我正在选择一个Python库,用于编写嵌入在我的网站中的实时聊天功能页面。
我找到了两个基于Socket.IO的库:python-socketiogevent-socketio
python-socketio文档中得知: Python实现的Socket.IO实时服务器。
gevent-socketio文档中得知: Socket.IO是一种类似WebSocket的抽象,可以在浏览器和服务器之间进行实时通信。 gevent-socketio是该协议的Python实现。
你看,这两个库都是Socket.IO的实现。
我想选择其中一个(或者如果有比它们更好的库,我不知道)。
我的考虑点如下: 1. 我的Python后端项目由Django / Django-Rest-Framework框架编写。 2. 我的项目很着急,我想使用更方便的库,编写更少的代码来实现我的要求。
我在互联网上冲浪,发现gevent-socketio实时聊天必须使用gevent python WSGI服务器,我不确定这是否限制了我的项目部署。
谁能给我建议,为我选择最好的库?
2个回答

13

很抱歉回答这个问题有点晚。我是python-socketio的作者和维护者,所以我的回答可能会有所偏见。

gevent-socketio项目已经有一段时间没有得到维护了。截至今天,在GitHub上的最新提交存储库是2016年9月,大约2.5年前。此软件包支持的Socket.IO协议版本是0.x发布版,这些版本已经过时,完全不兼容Socket.IO 1.x和2.x版本。

我的python-socketio项目诞生于gevent-socketio开发减缓的结果,特别是由于从未获得升级以支持Socket.IO协议的1.x版本。与我的竞争对手不同,我决定不添加对gevent的硬依赖。相反,我有一个插件系统,使我能够支持许多不同的Web服务器框架。截至今天,支持扩展到eventlet、gevent、uwsgi(与gevent结合使用)、asyncio(与aiohttp、sanic或任何ASGI兼容服务器结合使用)和Tornado。此软件包支持所有1.x和2.x版本的Socket.IO协议,并确保它可以连接到官方JavaScript客户端,这是大多数人使用的。如果有用的话,还包括基于Python的Socket.IO客户端。

希望这可以帮到你!


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接