Python-Socketio против Gevent-Socketio
Я выбираю библиотеку python, чтобы написать страницу функции чата, встроенную в мой сайт.
Я нашел две библиотеки, основанные на Socket.IO, python-socketio
а также gevent-socketio
:
Из документа python-socketio doc:
Python-реализация сервера Socket.IO в реальном времени.
Из документа gevent-socketio:
Socket.IO - это абстракция, похожая на WebSocket, которая обеспечивает связь между браузером и сервером в режиме реального времени. gevent-socketio - это реализация протокола на Python.
Видите ли, оба являются реализацией Socket.IO.
Я хочу выбрать один из них (или, если есть лучшая библиотека, чем я, я не знаю).
Мои соображения ниже:
Мой бэкэнд-проект на python написан на платформе Django/Django-Rest-Framework.
Мой проект спешит, я хочу использовать более удобную библиотеку, писать меньше кода, чтобы реализовать мои требования.
Я занимался серфингом в Интернете, gevent-socketio
Live-чат должен использовать gevent python WSGI
Сервер, я не уверен, является ли это предел для моего проекта развертывания.
Кто может дать мне предложение выбрать лучшую библиотеку для меня?
0 ответов
Извините, что ответил на этот вопрос так поздно. Я автор и сопровождающий python-socketio, поэтому я собираюсь дать вам предвзятый ответ.
Проект gevent-socketio давно не поддерживался. На сегодняшний день самая последняя фиксация хранилища на GitHub - с сентября 2016 года, то есть около 2,5 лет назад. Версия протокола Socket.IO, поддерживаемая этим пакетом, является версиями 0.x, которые являются старыми и полностью несовместимыми с версиями Socket.IO 1.x и 2.x.
Мой проект python-socketio родился в результате замедления разработки gevent-socketio и, в частности, из-за того, что он никогда не получал обновление для поддержки версии 1.x протокола Socket.IO. В отличие от моего конкурента, я решил не добавлять жесткую зависимость от Gevent. Вместо этого у меня есть система плагинов, которая позволила мне поддерживать множество различных структур веб-сервера. На сегодняшний день поддержка распространяется на eventlet, gevent, uwsgi (в сочетании с gevent), asyncio (в сочетании с aiohttp, sanic или любым сервером жалоб ASGI) и Tornado. Этот пакет поддерживает все версии 1.x и 2.x протокола Socket.IO, и я уверен, что он может подключаться к официальным клиентам JavaScript, что и используется большинством людей. В случае, если это полезно, клиент Socket.IO на основе Python также включен.
Надеюсь это поможет!
Вы должны оформить заказ gevent-websocket
также. Я использую это каждый день с моими проектами, прекрасно работает.
https://github.com/jgelens/gevent-websocket/tree/master/geventwebsocket