我选择了一个python库来编写嵌入我网站的实时聊天功能页面。
我找到了两个基于Socket.IO,python-socketio
和gevent-socketio
的库:
Socket.IO实时服务器的Python实现。
Socket.IO是一种类似WebSocket的抽象,支持浏览器和服务器之间的实时通信。 gevent-socketio是协议的Python实现。
你看,两者都是Socket.IO的实现。
我想选择其中一个(或者如果有一个比我不知道的更好的库)。
我的考虑因素如下:
我的python后端项目是由Django / Django-Rest-Framework框架编写的。
我的项目很匆忙,我想使用更方便的lib,编写更少的代码来实现我的要求。
我在互联网上浏览,gevent-socketio
实时聊天必须使用gevent python WSGI
服务器,我不确定这是否是我项目部署的限制。
谁可以给我建议为我选择最好的图书馆?
答案 0 :(得分:4)
很抱歉这么晚回答这个问题。我是python-socketio的作者和维护者,所以我将给您有偏见的答复。
gevent-socketio项目已有一段时间没有得到维护。截至今天,repository on GitHub上的最新提交时间是大约2.5年前的2016年9月。此软件包支持的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客户端。
希望这会有所帮助!
答案 1 :(得分:0)
您也应该结帐gevent-websocket
。我每天在项目中都使用它,效果很好。
https://github.com/jgelens/gevent-websocket/tree/master/geventwebsocket