@Midzakikayo

Как разделить данные между экземплярами сервера на asyncio?

Доброго времени! Продолжаю долгое самообучение 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.

Использовать переменную класса не получится, так как она общая для всех экземпляров.
Использовать переменную экземпляра класса это уткнуться в короткий срок её жизни в рамках одного подключения.
И тут встаёт вопрос как это реализовать?
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
@javedimka
Хочу сока
Твой сервер и так поддерживает соединение.

Начни изучение с более низкоуровневых вещей, а не с этого.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы