aiohttp和websockets有什么区别/兼容性?

问题描述:

aiohttp的websocket支持(即WebSocketResponse)和websockets(两者都提供异步支持)有什么区别?他们可以混合?aiohttp和websockets有什么区别/兼容性?

+0

你或许可以混合使用它们,但是有什么理由不想仅仅使用aiohttp的内置websockets? – shongololo

+0

这两个都是在PEP 3156中引入的Python异步I/O支持之上,所以我认为它的性能真的很类似 – olmerg

+0

autobhan似乎也是一种替代方案。 – Rhangaun

它们是由不同的人维护的两个不同的图书馆。两者都建立在asyncio之上。

websockets旨在成为一个简单易用的库来实现websockets客户端和服务器,并主要由single developer维护。另一方面,aiohttp是一个非常大的库,由bigger team维护,不仅提供websockets,而且顾名思义还提供HTTP功能。它的一些功能与flaskrequests重叠,但是以异步方式。

在尺寸上,websockets约为4k LOC,而aiohttp约为40k LOC。如果您只需要一个简单易用的websockets客户端,请转至websockets。如果您已经在使用aiohttp并且需要websockets功能,请使用aiohttp必须提供的功能。我没有看到混合它们的一点。