Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] вопрос! cgi-daemon



On Tue, 13 Apr 1999, Vlad Gerasimov wrote:

> Возник вопрос и он не прост (по крайней мере для объяснения):
> пример:
> есть приложение-демон допустим муд.
> есть программа-интерфейс позволяющая общаться с этим мудом, например некий бот.
> Если я зайду телнетом на муд я могу посмотреть кто играет в текущее время.
> По другому эту информацию (из файлов и т.д.) не извлечь.
> 
> Нужно: написать cgi отвечающую кто есть на сервере муда.
> 
> Конечно можно написать cgi котороая бы логинилась каждый раз при вызове cgiхи и
> выдавала информацию. Но это кажется некрасивым решением.
> 
> Как сделать это правильно ?
> (например чтобы прога висела залогиненной к муду) и выдавала
> бы мне по запросу информацию, что-то типа демона. возможно ли это?

#!/usr/bin/expect
set mudport ....
set daemonport ....
spawn telnet localhost $mudport
expect "Login:"
send  "$login\r"
....

socket -server connect_client $daemonport
proc connect_client {socket address port} {
   fileevent $socket readable [list getcommand $socket]
}

proc getcommand {socket} {
  global exp_out
  if [eof $socket] {
      close $socket 
  }
  send "[gets $socket]\r"
  expect "(.*)$endofcommand"
  puts $socket exp_out(1)
}

vwait forever
P.S. В именах переменных мог и наврать. 

--------------------------------------------------
Victor Wagner			vitus@xxxxxx
Programmer			Office:7-(095)-964-0380
Institute for Commerce 		Home: 7-(095)-135-46-61
Engineering                     http://www.ice.ru/~vitus

=============================================================================
=               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 ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"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.