Difference between revisions of "Web-apps"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(Первая версия)
 
m (Технические подробности: всё уже придумано до нас)
Line 15: Line 15:
 
== Технические подробности ==
 
== Технические подробности ==
 
При разработке сервиса использован язык [[:w:Ада (язык программирования)|Ада]] и [[:w:lua|Lua]]. Программе на Ада передается Lua-сценарий и номер порта. Для каждого входящего соединения выполняется этот скрипт, читается сценарий Lua, происходит обмен данными. При этом всё осуществляется  асинхронно. Сам сценарий может быть таким:
 
При разработке сервиса использован язык [[:w:Ада (язык программирования)|Ада]] и [[:w:lua|Lua]]. Программе на Ада передается Lua-сценарий и номер порта. Для каждого входящего соединения выполняется этот скрипт, читается сценарий Lua, происходит обмен данными. При этом всё осуществляется  асинхронно. Сам сценарий может быть таким:
<blockquote>while(true) do<BR>
+
 
    send( recieve() )<BR>
+
while(true) do
end</blockquote>
+
    send( recieve() )
 +
end
 +
 
 
Сервер в этом случает отсылает ровно то, что ему прислали (эхо) и  если во время вызова recieve() данных входящих ещё нет, то выполнение сценария приостанавливается, пока данных не поступят. Для скрипта это незаметно и когда данные появятся, то он возобновляет работу.
 
Сервер в этом случает отсылает ровно то, что ему прислали (эхо) и  если во время вызова recieve() данных входящих ещё нет, то выполнение сценария приостанавливается, пока данных не поступят. Для скрипта это незаметно и когда данные появятся, то он возобновляет работу.
  

Revision as of 07:47, 30 April 2010

Web-apps
Информация
Сайт: web-apps.ru
Библиотека: Net::XMPP
Лицензия: GPL
Характеристики

Web-apps - это безымянный бот (в том смысле, что публичного имени собственного у него пока нет). Посредством этого бота вы можете поместить на веб-страницу (через тэг <IMG> или как фоновое изображение в <DIV>) свой статус, а также JID. Последнее - по желанию.

Инструкция для пользователя

  • Добавить адрес бота
  • В ответ на его сообщение послать единицу
  • Вставить код на нужную страницу (код фомируется вручную на основе примеров, размещённых на официальном сайте)

Технические подробности

При разработке сервиса использован язык Ада и Lua. Программе на Ада передается Lua-сценарий и номер порта. Для каждого входящего соединения выполняется этот скрипт, читается сценарий Lua, происходит обмен данными. При этом всё осуществляется асинхронно. Сам сценарий может быть таким:

while(true) do
    send( recieve() )
end

Сервер в этом случает отсылает ровно то, что ему прислали (эхо) и если во время вызова recieve() данных входящих ещё нет, то выполнение сценария приостанавливается, пока данных не поступят. Для скрипта это незаметно и когда данные появятся, то он возобновляет работу.

Ссылки