>>>>> On Tue, 13 Apr 1999 20:02:29 +0400, Vlad Gerasimov <vlad@xxxxxxxxxxxxxxxx> 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@xxxxxxxxx
Network Administrator FIDO: 2:5020/371.32
PIRIT Corp. Phone: +7(095) 115-7101
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.