python-socketio与Gevent-socketio

air*_*aft 1 python socket.io gevent-socketio python-socketio

我正在选择一个python库来编写嵌入在我的网站中的实时聊天功能页面。

我发现基于Socket.IO,两个图书馆python-socketiogevent-socketio

python-socketio doc

Socket.IO实时服务器的Python实现。

gevent-socketio doc

Socket.IO是类似于WebSocket的抽象,可实现浏览器和服务器之间的实时通信。gevent-socketio是该协议的Python实现。

您会看到,它们都是Socket.IO的实现。

我想选择其中之一(或者是否有比我不知道的更好的库)。

我的考虑要点是:

  1. 我的python后端项目是由Django / Django-Rest-Framework框架编写的。

  2. 我的项目很着急,我想使用更方便的lib,编写更少的代码来实现我的要求。

我上网冲浪,gevent-socketio实时聊天必须使用gevent python WSGI服务器,我不确定这是否限制了我的项目部署。

谁能给我建议为我选择最佳图书馆?

Mig*_*uel 5

很抱歉这么晚回答这个问题。我是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。该软件包支持Socket.IO协议的所有1.x和2.x版本,并且我确保它可以连接到官方的JavaScript客户端,这是大多数人使用的客户端。如果有用,还包括基于Python的Socket.IO客户端。

希望这可以帮助!