> Скажу больше: отлаживать что текстовый протокол, что бинарный - разница минимальная.
Ерунду сказал. Стандартный клиент текстового протокола - telnet, а для каждого бинарного придется городить пачку специализированных клиентов, а потом еще добивать их до актуального состояния. В топку.
>> или FTP, где для передачи файла приходится использовать по два соединения - разве это "гибкость"?
Да туповат я, так и не понял почему два, почему не три не восемь и т.д., почему надо грузить модуль ядра для отслеживания ftp, а не тупо открыть два порта 20-21/tcp для пропуска ftp.