Я ищу абстрактный и чистый способ обмена строками между двумя программами на Python. Протокол действительно прост: клиент / сервер отправляет строку серверу / клиенту и выполняет соответствующее действие - я полагаю, через обработчик - и отвечает ИЛИ НЕ на другую сторону другой строкой. Строки могут быть тремя вещами: подтверждение, сигнализирующее одну сторону о том, что другая еще жива; маринованный класс, содержащий команду при переходе от «клиента» к «серверу» или ответ при переходе от «сервера» к «клиенту»; и, наконец, команда «блокировки», которая сигнализирует стороне разговора о том, что другая работает, и больше никаких вопросов не следует задавать, пока не будет получен другой пакет блокировки.
Я смотрел на встроенный в Python SocketServer.TCPServer, но это слишком низкий уровень, он не может легко поддерживать переподключение, и клиент должен использовать интерфейс сокетов, который я предпочел инкапсулировать.
Затем я изучил искривленную структуру, в частности протокол LineOnlyReceiver и примеры серверов, но обнаружил, что начальная кривая обучения слишком крута, онлайновая документация предполагает слишком много знаний и общее отсутствие примеров и хорошей документации (за исключением 2005 г. 'Рейли книга, это все еще в силе?).
Затем я попробовал библиотеку pyliblo, которая идеально подходит для этой задачи, увы, она является однонаправленной, нет способа «ответить» клиенту, и мне нужно, чтобы ответ был связан с конкретной командой.
Итак, мой вопрос: существует ли существующий каркас / библиотека / модуль, который позволяет мне иметь клиентский объект на сервере, читать команды и отправлять ответы и серверный объект на клиенте, чтобы читать ответы от и отправку команд, которые я могу использовать после простой настройки (клиент, адрес сервера - хост: порт, сервер, вы прослушиваете порт X), имеющий базовый сокет, механизм переподключения и т. д.?
заранее спасибо за любой ответ (простите мой английский и неопытность, это мой первый вопрос)