Доброго времени! Продолжаю долгое самообучение Python3 на курсе и столкнулся с вопросом.
Прошу совета!
Есть сервер:
import asyncio
class ClientServerportocol(asyncio.Protocol):
DATA = {}
def connection_made(self, transport):
self.transport = transport
self.ip = transport.get_extra_info('peername')
print('connect from:', self.ip)
#Форматируем данные по типу
def recompl(self, data):
*****
#Получение запросов и обработка
def data_received(self, data: bytes):
*****
#запись данных на сервер
def put(self, requests):
*****
#получение данных c сервера
def get(self, requests):
*****
#запуск сервера
def run_server(host='', port=9001):
loop = asyncio.get_event_loop()
coro = loop.create_server(ClientServerportocol, host, port)
server = loop.run_until_complete(coro)
try:
loop.run_forever()
except KeyboardInterrupt:
print("Server stoped with,", "KeyboardInterrupt".upper())
server.close()
loop.run_until_complete(server.wait_closed())
loop.close()
Нужно разделить данные между его экземплярами.
Тема с asyncio оказалась для меня слишком тугой. Почитав таки понял что и с чем едят. Но вот только уперся в другое. Как отделить данные. между разными экземплярами серверов на asyncio.
Использовать переменную класса не получится, так как она общая для всех экземпляров.
Использовать переменную экземпляра класса это уткнуться в короткий срок её жизни в рамках одного подключения.
И тут встаёт вопрос как это реализовать?