NetCat for voice/video talk?
Mar. 1st, 2011 11:54 amВспомнить старое доброе интернетское прошлое. В Юниксе всё должно элегантно составляться из кубиков, даже сетевые операции.
А ведь тот же NetCat продолжает работать. И можно с его помощью запросто засервить файл или двусторонне пообщаться текстом, как и 15-20 лет назад. Вспомнить команды разделения канала (о) и (оо).
Кстати, а почему только текстом? Почему бы не наложить на простой и незамысловатый сокет передачу звука прямо из микрофона? Что-нибудь в духе двух строчек (симметрично):
Ну или совсем сурово:
Прибавить сюда SSH-шифрование канала на лету.
И тогда Скайп может спокойно гулять лесом :)
А ведь тот же NetCat продолжает работать. И можно с его помощью запросто засервить файл или двусторонне пообщаться текстом, как и 15-20 лет назад. Вспомнить команды разделения канала (о) и (оо).
Кстати, а почему только текстом? Почему бы не наложить на простой и незамысловатый сокет передачу звука прямо из микрофона? Что-нибудь в духе двух строчек (симметрично):
Alice$ cat /dev/mic | nc -l 12345
Bob$ nc alice.org 12345 > /dev/audio
Ну или совсем сурово:
Alice$ cat /dev/webcam | mpeg_compress | nc -l 12345
Bob$ nc alice.org 12345 | mpeg_decompress | mpeg_player -
Прибавить сюда SSH-шифрование канала на лету.
И тогда Скайп может спокойно гулять лесом :)
no subject
Date: 2011-03-02 02:27 pm (UTC)Примеры того, как это делается, можно увидеть в AppleScript'e. Мне очень нравится идея, что любая программа - это не чёрный ящик, а серый ящик, который можно подёргать за заранее оговоренные протоколом ножки. Таким образом, даже самой GUIёвой программой можно управлять со стороны, посылая ей сообщения и получая ответы. Т.е. её можно скриптовать, и поддержка этого скриптования сделана на уровне опсистемы (а не каждой программы отдельно, как в Эмаксе и пр.).
А скрипт - это язык программирования самого высокого уровня (выше - интерактивный человек). Писать на нём новую функциональность неудобно и неэффективно, а соединять уже написанное - с превеликим удовольствием.
no subject
Date: 2011-03-02 02:51 pm (UTC)Это, как раз, самый низкий уровень общения между процессами, ниже некуда.
Гуёвые опсистемы, на сколько я знаю, многие в большей или меньшей степени предоставляют возможность слать другим процессам или их ресурсам сообщения. Которые, опять же, более или менее стандартны. Хотя, не все и не на всё обязаны адекватно реагировать.
Гуёвая платформа это очень мощная сила. В плане энфорса сложных стандартных интерфейсов.
А интерфейс процесса в *нихах, наоборот, очень прост. Договорились о стдин, стдаут и стдерр, плюс пятнадцать сигналов и фсё (?).
Вот и поди организуй передачу от сетевого интерфейса на камеру сигнала "а снизь-ка ты мне, брат, разрешение".
Конечно, на самом деле будет проще, сеть говорит запаковщику "не пролезает!", запаковщик камере "режь частоту кадров" или как-то так. Но это всё надо срастить и стандартизировать. Ты ж понимаешь, какой это гмрй. Как всегда кому-то потребуется фича, которой в стандарте нету, начнутся расширения, нахлабучки, в пайп придётся вставлять конвертеры управляющих протоколов, ...
Но самое обидное, что нужно это всё только отдельным нетипичным элементам вроде нас с тобой :)
no subject
Date: 2011-03-02 04:06 pm (UTC)no subject
Date: 2011-03-02 04:23 pm (UTC)Но, увы нам, увы, нужны они далеко не всем :)
Более того, большинство о них вообще не знает.
no subject
Date: 2011-03-06 09:37 pm (UTC)