| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Онлайн сервер |
| Автор: VoAnt 12.5.2005, 13:43 |
| Постановка задачи Существует FreeBSD сервер, подключеный к интернет. Задача заключается в написании приложения, к-е постонно висит в памяти сервера и принимает-отправляет данные от одного клиента - другому. Как пример - ICQ Впрос Как быстро нацарапать такой минисервер с админкомандой "die", к-я выгружает программу из памяти. #---------------- Поэтапно: Этап 1 какие функции исспользуються для открытия портов и прослушивания их на предмет приёма. Этап 2 как определить IP клиента Этап 3 как держать такую программу всегда в памяти? Спасибо за помощь! |
| Автор: Chuck 12.5.2005, 15:45 | ||||||
А не легче юзать уже готовое?
http://doc.diesel.elcat.kg/Perl/lib/site/LWP/Socket.html http://www.getinfo.ru/article135.html
Юзать функции работы с сетью, протоколами, сокетами!
chuck@mon chuck $ ./server & И будет она у тебя висеть, пока сам не kill-нешь, либо пока она не завершится! |
| Автор: chaos 13.5.2005, 07:04 | ||||||
вот тебе пища для размышление 1)
2)
3) для этого есть fork() |
| Автор: korob2001 13.5.2005, 17:30 | ||||||||
chaos - на это вопрос ответил. Можно заюзать ещё модуль Socket, но IO::Socket всё же лучше.
До тех пор, пока приложение "сервер" ждёт, оно и так висит в памяти. |
| Автор: wladk 16.5.2005, 13:35 | ||||
"быстро" или "правильно"? Если "быстро" - не знаю, наверное искать что то готовое, если "правильно" то начать с "Эффективного програмирования TCP/IP" Йона Шнайдера(автора могу переврать), и продолжить "Разработка сетевых программ на PERL" Линкольн Д. Штайн. В обоих книках есть достаточно примеров, какой-то их них вполне можно будет взять за основу...
А стоит ли? Посмотри на механиз работы с сендмейлом, к примеру. Он все время в памяти не висит, а "поднимается" системой при обращении к определнному порту... |