Was ist der Unterschied zwischen aiohttp
Websocket-Unterstützung (d. H. WebSocketResponse
) und websockets (beide bieten eine asynchrone Unterstützung)? Können sie gemischt werden?Was ist der Unterschied/Kompatibilität zwischen aiohttp und websockets?
Antwort
Sie sind zwei verschiedene Bibliotheken, die von verschiedenen Leuten unterhalten werden. Beide sind oben auf asyncio
gebaut.
websockets
zielt darauf ab, eine einfache einfach zu bedienende Bibliothek zu WebSockets-Clients und Servern zu implementieren und wird meist von einem single developer verwaltet. Auf der anderen Seite ist aiohttp
eine ziemlich größere Bibliothek, die von bigger team verwaltet wird und nicht nur Websockets bietet, sondern, wie der Name schon sagt, auch HTTP-Funktionalität. Einige seiner Funktionen überschneiden sich mit denen von flask
und requests
, jedoch asynchron.
In Bezug auf die Größe ist websockets
etwa 4k LOC, während aiohttp
etwa 40k LOC ist. Wenn Sie nur einen einfachen und benutzerfreundlichen WebSockets-Client benötigen, gehen Sie auf websockets
. Wenn Sie bereits aiohttp
verwenden und WebSockets-Funktionalität benötigen, verwenden Sie, was aiohttp
zu bieten hat. Ich sehe keinen Sinn darin, sie zu mischen.
Sie könnten sie wahrscheinlich mischen, aber gibt es einen Grund, warum Sie nicht nur aiohttp eingebaute WebSockets verwenden möchten? – shongololo
die beiden sind oben auf Python asynchrone I/O-Unterstützung in PEP 3156 eingeführt, so denke ich, dass die Leistung ist sehr ähnlich – olmerg
Autobhan scheint auch eine Alternative zu sein. – Rhangaun