Hello! On Friday 12 February 2010 14:59:28 Artem Chuprina wrote: > AP> Задача обмена данными через сокет включает в себя открытие сокета и > AP> получение дескриптора. Вот ровно это и делают tcpserver и tcpclient > AP> - без зависимостей, без сотен килобайт "нафаршированного" бинаря... > > А это ничего, что задача открытия сокета, которую может решать > tcpclient, вообще-то есть быть суть десяток совершенно шаблонных строчек > на C, а та, которую tcpserver - ну, два десятка? > > А на tcl, соответственно, одна и три? > > Ради этого громоздить бинарник, нафаршированный зависимостями от > динамической загрузки?
Возьмите статическую сборку, с dietlib. > AP> socat не утилита, а монстр чуть ли не с опенофис. И с пучком > зависимостей: > Ну, да. Потому что оно умеет открыть не только тупой TCP-сокет. И как > только тебе надо чуть больше, чем тупой TCP-сокет, твои tcpserver и > tcpclient немедленно начинают исключительно занимать место на диске. А > пользу приносить перестают. И все, что у тебя было завязано на их > использование, тебе приходится переписывать на что-то более вменяемое. А ничего, что tcpserver так и называется потому, что с tcp работает? Надо вам другой сокет - возьмите другую утилиту. Или вы за виндовый подход, когда каждая программа тащит в себе как можно больше всего? Тогда не надо про юникс-вей говорить в этом контексте, если требуете, чтобы утилита tcp... работала с udp, юникс-сокетами, служила эмулятором терминала и проч. > А libreadline там затем же, зачем и libssl. Только для разных типов > файловых дескрипторов. libssl - для SSL-сокета, а libreadline - для > терминала с юзером. С каких это пор в линуксе проблемы с терминалами, так что приходится эту функциональность в socat пихать? Натуральный монстр, по идеологии виндоус. > Ога, вот только этот интерпретатор без расширений нихрена не умеет > сидеть сервером на UNIX socket'е. А на TCP - умеет. Поэтому, чтобы > чуть-чуть расширить функциональность написанной на нем программы (а с > точки зрения собственно программирования после открытия и первоначальной > настройки разницы между UNIX и TCP сокетами - никакой), мне приходится > либо искать это расширение, либо радикально менять схему работы. Фактически unix-сокеты давно уже в состоянии deprecated, но в этом явно не тикль виноват. А учитывая тенденции по монтированию удаленных ФС по http-based протоколам, и вовсе. Судя по DBUS и проч., юникс-сокеты скоро и с серверов пропадут. Я не говорю, что это именно хорошо, но так уж есть. Best regards, Alexey Pechnikov. http://pechnikov.tel/