Сначала небольшая коррекция. use_poll=True
не заставляет asyncore
использовать epoll (2) . Это заставляет его использовать poll (2) (более того, так как работает асинхронный режим, нет особых оснований пытаться использовать epoll (2) , поскольку накладные расходы на уровне Python для асинхронного режима) перевешивает любые расходы на используемый API-интерфейс уведомления о событиях сокета).
Во-вторых, основным недостатком asyncore
является степень, в которой он подвергает вас специфическим особенностям платформы. Для библиотеки, которая обрабатывает больше различий между , выберите (2) и poll (2) для вас, и которая фактически поддерживает epoll (2) , и что лучше и по ряду других способов , посмотрите Twisted .
Если вы можете добавить больше деталей к вашему вопросу, возможно, конкретная проблема, с которой вы столкнулись при асинхронном обращении, может быть обнаружена, но, основываясь на информации, доступной сейчас, невозможно быть уверенным. Основные функции поддержки asyncore poll (2) работают - т.е. она может доставлять уведомления о чтении, записи и закрытии в тривиальном случае. Чем ваш случай отличается от тривиального?