Форум сайта python.su
В общем, почти все IM-протоколы грешат тем, что надо в определенные промежутки времени слать на сервер прикладные пакеты какого-нибудь ICQ_PING, дабы обе стороны знали, что коннект еще держится.
И тут довольно тупой вопрос - возможно ли реализовать этот бесконечный цикл отсылки пинга без использования потоков, но, разумеется, чтобы кроме пинга можно было слать другие произвольные непериодические пакеты?
Вроде бы это можно как-то через poll/epoll сделать, но как в asyncore замутить посылку по таймауту - я не очень понял.
Отредактировано (Янв. 31, 2012 09:59:33)
Офлайн
http://code.activestate.com/recipes/577808-asyncore-scheduler/
может такое подобие твистедовского CallLater поможет?
можешь ещё читануть http://bugs.python.org/issue1641 , там есть пример через shed
http://twistedmatrix.com/trac/browser/trunk/twisted/words/protocols/oscar.py#L238
глянь как поступают в twisted с KeepAlive
Офлайн