python-socketio vs Gevent-socketio



我正在选择一个python库来编写我网站中嵌入的Live-Chat功能页面。

我找到了两个基于socket.io, python-socketiogevent-socketio的库:

来自Python-socketio doc:

python实现了socket.io实时服务器。

来自gevent socketio doc:

socket.io是一种类似Websoket的抽象,可以在浏览器和服务器之间实时通信。gevent-socketio是协议的Python实现。

您看到,两者都是socket.io。

的实现

我想选择其中一个(如果有比它们更好的图书馆,我不知道(。

我的考虑点是波纹管:

  1. 我的Python后端项目由Django/Django-Rest-Framework框架撰写。

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

我浏览了Internet,gevent-socketio Live-Chat必须使用gevent python WSGI服务器,我不确定这是否是我项目部署的限制。

谁可以给我建议选择最佳图书馆的建议?

很抱歉这么晚回答这个问题。我是Python-Socketio的作者和维护者,所以我会给您一个有偏见的回复。

Gevent-Socketio项目已经有一段时间没有维护。截至今天,Github上最新的存储库的最新提交是2016年9月,大约是2.5年前。该软件包支持的socket.io协议的版本是0.x版本,它旧且与socket.io.io 1.x和2.x版本完全不相容。

我的Python-Socketio项目是由于Gevent-Socketio开发的放缓而诞生的,尤其是由于从未收到升级以支持Socket.io协议的1.x版本。与我的竞争对手不同,我决定不增加对Gevent的努力。相反,我有一个插件系统,该系统使我能够支持许多不同的Web服务器框架。截至今天,支持扩展到Eventlet,Gevent,UWSGI(与GEVENT(,ASYNCIO(与AioHTTP,Sanic或任何ASGI投诉服务器相结合(和龙卷风。该软件包支持socket.io协议的所有1.x和2.x版本,我确保它可以连接到官方的JavaScript客户端,这是大多数人使用的。如果它很有用,也包括一个基于python的socket.io客户端。

希望这会有所帮助!

您也应该检查gevent-websocket。我每天都在项目中使用它,效果很好。

https://github.com/jgelens/gevent-websocket/tree/master/geventwebsocket

最新更新