Основные отличия модулей asynchat и asyncore при асинхронной обработке сетевых протоколов:
- asyncore обеспечивает базовую инфраструктуру для написания клиентов и серверов службы асинхронных сокетов. 1 Модуль упрощает создание сложных высокопроизводительных сетевых серверов и клиентов. 1
- asynchat создан на основе asyncore для упрощения реализации асинхронных клиентов и серверов, а также обработки протоколов, элементы которых заканчиваются произвольной строкой или имеют переменную длину. 2
Некоторые особенности asynchat:
- Класс async_chat получает данные и ищет терминатор сообщения. 5 В подклассе нужно указать, что делать при поступлении данных и как отвечать после нахождения терминатора. 5
- Отправляемые данные ставятся в очередь для передачи через объекты FIFO, которыми управляет async_chat. 5
Таким образом, asynchat работает на более высоком уровне абстракции, поэтому чтение и запись обрабатываются автоматически. 5