>>>>> On Tue, 13 Apr 1999 20:02:29 +0400, Vlad Gerasimov
><vlad@info.novsu.ac.ru> said:
VG> Приветствую!
VG> Возник вопрос и он не прост (по крайней мере для объяснения):
VG> пример:
VG> есть приложение-демон допустим муд.
VG> есть программа-интерфейс позволяющая общаться с этим мудом, например некий
бот.
VG> Если я зайду телнетом на муд я могу посмотреть кто играет в текущее время.
VG> По другому эту информацию (из файлов и т.д.) не извлечь.
VG> Нужно: написать cgi отвечающую кто есть на сервере муда.
VG> Конечно можно написать cgi котороая бы логинилась каждый раз при вызове
cgiхи и
VG> выдавала информацию. Но это кажется некрасивым решением.
VG> Как сделать это правильно ?
VG> (например чтобы прога висела залогиненной к муду) и выдавала
VG> бы мне по запросу информацию, что-то типа демона. возможно ли это?
Правильный ответ: mod_perl.
httpd.conf:
PerlModule MUDinfo.pm
Модуль MUDinfo и все его переменные будет один на все экземпляры httpd.
MUDinfo.pm:
package MUDinfo;
$MUDinfo::MUDhandle = connect_to_MUD("Apache");
sub list_players {
проверить, не упал ли коннект, который держит MUDinfo::MUDhandle,
если упал --- восстановить.
воспользоваться MUDinfo::MUDhandle (скорее всего, это что-то вроде
наследника Socket) для получения информации от муда.
выдать полученную информацию.
}
/cgi-bin/perl/list_players (скрипт под управлением mod_perl):
use MUDinfo;
...
my @players = $MUDinfo::list_players();
...
Вот телнетовского клиента я тебе так с ходу не напишу, но в сторону
Socket я тебя отправил.
--
Artem Chuprina E-mail: ran@pirit.com
Network Administrator FIDO: 2:5020/371.32
PIRIT Corp. Phone: +7(095) 115-7101
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =