The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как написать демон, работающий 80 порту параллельно с Apache"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как написать демон, работающий 80 порту параллельно с Apache" 
Сообщение от Blitz emailИскать по авторуВ закладки(ok) on 21-Сен-05, 11:49  (MSK)
Всем добрый день.
Прошу прощение за странное название темы - не смог ёмко изложить поставленный вопрос ;)

Очень хотелось бы получить советов по решению следующей проблемы:

Думаю, как написать "сервер", который будет выполнять следующую задачу: принимать все соединения через 80 порт, в которых запрашивается конкретное имя скрипта (chat_out.??? например) и работать с ними. Т.е. подразумевается паралелльная работа с большим количеством соединений. Причем соединение закрываться быстро не будет - собираюсь например отправить Content-length очень большим и долго выводить сообщения, не закрывая соединений.
Это все должно происходить при работающей на том же 80ом порту Апачей. (не обязательно, конечно, самому обрабатывать ХТТП-пакет, можно это оставить и веб-серверу)

Не могу найти механизм, который позволит это реализовать - Апача обрабатывает все запросы на свой порт, поэтому не представляю, как "заставить" ее передавать запрос, в котором упоминается конкретный скрипт, другому обработчику (причем не запуская новый процесс, а именно соединяясь уже с существующим).

Я рассматривал:
fastCGI - по описанию модуля Perl FCGI, насколько я понял, он не поддерживает режима когда один скрипт обрабатывает ВСЕ запросы.

написать свой модуль для Apache который будет по внутренним сокетам ОС связываться с демоном, который и будет выполнять необходимую функциональность. Выглядит это достаточно сложно.

Возможны ли рассматриваемые варианты? Есть ли другие? (в принципе язык написания не принципиален, если нужно, то можно и не на Перле)

Буду очень благодарен любым ссылкам по данной теме. Возможно, я копаюсь совершенно не там - тогда буду рад выслушать правильные варианты.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как написать демон, работающий 80 порту параллельно с Apache" 
Сообщение от Alexandr Искать по авторуВ закладки(??) on 21-Сен-05, 12:59  (MSK)
Тривиально. Сооруди нормальный cgi скрипт (программу на C) которая при запуске будет подключаться к работающему процессу через сокет файловой системы и соединять его с апачем накоротко. Так работают антивирусы - висит один процесс, который уже загрузил базу данных, к нему подсоединяются клиенты которых он обрабатывает.

Промежуточная программка будет очень маленькой и много ресурса не отожрет.
И это наверно проще, чем писать модуль для апаша. Хотя даже написание модуля гораздо проще, чем то что ты хочешь сделать.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как написать демон, работающий 80 порту параллельно с Apache" 
Сообщение от Blitz Искать по авторуВ закладки(ok) on 21-Сен-05, 17:05  (MSK)
Большое спасибо за ответ!

Если я правильно понимаю, то все таки предлагается делать по процессу на каждого пользователя? :-0
И еще один небольшой момент: как примерно реализуется "соединять с апачем накоротко". Подразумевается что эта цгишка соединяет накоротко, а сама закрывается?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру