LINUX.ORG.RU

История изменений

Исправление deadNightTiger, (текущая версия) :

Есть asyncio

import asyncio

async def handle(r, w):
    w.write(await r.read())
    w.write_eof()

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    srv_coro = asyncio.start_server(handle, '127.0.0.1', 3333, loop=loop)
    srv = loop.run_until_complete(srv_coro)
    loop.run_forever()
но это только python3.6+ (в 3.4-3.5 немного другой синтаксис, в 3.3 не было в стандартной библиотеке, но было в пипе). В продакшен обычно используют twisted или tornado.

Исходная версия deadNightTiger, :

Есть asyncio

import asyncio

async def handle(r, w):
    w.write(await r.read())
    w.write_eof()

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    srv_coro = asyncio.start_server(handle, '127.0.0.1', 3333, loop=loop)
    srv = loop.run_until_complete(srv_coro)
    loop.run_forever()
но это только python3.6+ (в 3.4+ немного другой синтаксис, в 3.3 не было в стандартной библиотеке, но было в пипе). В продакшен обычно используют twisted или tornado.