2016-05-16 55 views
2

aiohttp的websocket支持(即WebSocketResponse)和websockets(兩者都提供異步支持)有什麼區別?他們可以混合?aiohttp和websockets有什麼區別/兼容性?

+0

你或許可以混合使用它們,但是有什麼理由不想僅僅使用aiohttp的內置websockets? – shongololo

+0

這兩個都是在PEP 3156中引入的Python異步I/O支持之上,所以我認爲它的性能真的很類似 – olmerg

+0

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

回答

2

它們是由不同的人維護的兩個不同的圖書館。兩者都建立在asyncio之上。

websockets旨在成爲一個簡單易用的庫來實現websockets客戶端和服務器,並主要由single developer維護。另一方面,aiohttp是一個非常大的庫,由bigger team維護,不僅提供websockets,而且顧名思義還提供HTTP功能。它的一些功能與flaskrequests重疊,但是以異步方式。

在尺寸上,websockets約爲4k LOC,而aiohttp約爲40k LOC。如果您只需要一個簡單易用的websockets客戶端,請轉至websockets。如果您已經在使用aiohttp並且需要websockets功能,請使用aiohttp必須提供的功能。我沒有看到混合它們的一點。