LINUX.ORG.RU

Аналог nc -l и частичное безумие


0

1

Доброго дня господа.

Предисловие: мне часто приходиться делать совсем лёгкие веб-рожици для тех или иных задач.
Живут они в разных местах, и, за частую, иметь ради такого полноценный веб-сервер - ни к чему.
Посему я пользовал самую малость модифицированный скриптик, что нашел на просторах интернета, и что работает через вызов нэтката.
Из большого удобства этого решения - жабо\руби сервлетомимикрия (очень удобно повесить на get /info, скажем, скрипт, что соберёт мне нужную инфу, выполнит действия и отдаст данные; экономит время)

Проблема этого решения: в силу причин, что пока для меня загадка (одни только предположения) - нэткат весьма медленно, как для такой задачи, отдаёт последовательные запросы, в короткий промежуток времени. Пример: в большей половине случаев nc даст отбой на запрос браузера в получении нескольких файлов для целевой странички (банально даже css может зажать), от чего всё идёт не так как задумано.
Да, можно обойтись без отдельного css'а, но это мне не нравится.

И наконец вопрос: есть ли нечто, что действует аналогично nc -l, но не имеет такой проблемы? Очень желательно что бы можно было оставить прежний принцип работы , ибо это чертовски удобно и стимулирует к не диагональному раскуриванию rfc2068 (HTTP/1.1), который уже давно, хоть частично, хотел бы свелосипедить на том же баше :)

Заранее благодарен адекватно ответившим.

ЗЫ: я в курсе про решения в стиле лайтхттпд, синатры итп. самоцель - возможность реализации без дополнительного (или не столь существенного) софта.

★★★

Последнее исправление: Spirit_of_Stallman (всего исправлений: 1)

Бывало такое, только в винде. Когда надо что-нибудь быстренько соорудить, не ставя какой-либо не нужный в перспективе софт. Под рукой оказался mIRC (люблю чятики), со втроенной поддержкой своего же скриптового движка, на котором в дальнейшем были написаны веб-сервер с php и mysql клиент http://www.mircscripts.org/downloads/screenshots/1393.jpg :D

В никсах хорошо, что уже из коробки есть bash с простым синтаксисом и кучей софта в системе. Как уже посоветовали - xinetd. Но я бы присмотрелся к какому-нибудь аналогу (как в случае с mIRC) типа Emacs, который так же под рукой, нужен, и на нем можно вытворять что угодно - учите Lisp, пригодится всегда. :)

Другой вариант - любой язык, который точно всегда есть в системе. Perl, Python. И писать реализации на нем.

Spoofing ★★★★★
()

По некоторым причинам не могу пройти по ссылке на pastebin, но надеюсь что там web-сервер на bash. Cам его юзал, прикольная штука, особенно если завязать с stdout какой-то программулины - такой себе CGI получается :).

Kroz ★★★★★
()

В конце концов, дабы не велосипедить (хоть это весело и интересно), su -c 'make DESTDIR='/usr/local' install' никто не отменял. Устроить в /usr/local файлопомойку можно всегда.

Spoofing ★★★★★
()
Ответ на: комментарий от no-dashi

xinetd.

Похоже на то что нужно, буду смотреть. Спасибо.
ЗЫ: не находите точку, что ставят в таких случаях, необычайно красноречивой? :)

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от PolarFox

А в питоне есть import BasicHTTPServer.

Да, в поисках натыкался, так же смотрел и перловскую работу с сокетами.
Не понравилось. Или у пёрла со мной или у меня с пёрлом явные проблемы :)

Spirit_of_Stallman ★★★
() автор топика
Ответ на: комментарий от zolden

В сущности мои догадки транслирует.
Нужно написать свой простейший сокет-транслятор.

Spirit_of_Stallman ★★★
() автор топика

systemd'шный http-сервер подойдёт?

dadd ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.