2016-05-16 9 views
2

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?

+0

Sie könnten sie wahrscheinlich mischen, aber gibt es einen Grund, warum Sie nicht nur aiohttp eingebaute WebSockets verwenden möchten? – shongololo

+0

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

+0

Autobhan scheint auch eine Alternative zu sein. – Rhangaun

Antwort

2

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.