В общем, почти все IM-протоколы грешат тем, что надо в определенные промежутки времени слать на сервер прикладные пакеты какого-нибудь ICQ_PING, дабы обе стороны знали, что коннект еще держится.
И тут довольно тупой вопрос - возможно ли реализовать этот бесконечный цикл отсылки пинга без использования потоков, но, разумеется, чтобы кроме пинга можно было слать другие произвольные непериодические пакеты?
Вроде бы это можно как-то через poll/epoll сделать, но как в asyncore замутить посылку по таймауту - я не очень понял.