Editing Web-apps
From JaWiki (Jabber/XMPP wiki)
Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.
The administrator who locked it offered this explanation: MediaWiki upgrading
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 15: | Line 15: | ||
== Технические подробности == | == Технические подробности == | ||
При разработке сервиса использован язык [[:w:Ада (язык программирования)|Ада]] и [[:w:lua|Lua]]. Программе на Ада передается Lua-сценарий и номер порта. Для каждого входящего соединения выполняется этот скрипт, читается сценарий Lua, происходит обмен данными. При этом всё осуществляется асинхронно. Сам сценарий может быть таким: | При разработке сервиса использован язык [[:w:Ада (язык программирования)|Ада]] и [[:w:lua|Lua]]. Программе на Ада передается Lua-сценарий и номер порта. Для каждого входящего соединения выполняется этот скрипт, читается сценарий Lua, происходит обмен данными. При этом всё осуществляется асинхронно. Сам сценарий может быть таким: | ||
− | + | <blockquote>while(true) do<BR> | |
− | + | send( recieve() )<BR> | |
− | + | end</blockquote> | |
− | + | ||
− | + | ||
Сервер в этом случает отсылает ровно то, что ему прислали (эхо) и если во время вызова recieve() данных входящих ещё нет, то выполнение сценария приостанавливается, пока данных не поступят. Для скрипта это незаметно и когда данные появятся, то он возобновляет работу. | Сервер в этом случает отсылает ровно то, что ему прислали (эхо) и если во время вызова recieve() данных входящих ещё нет, то выполнение сценария приостанавливается, пока данных не поступят. Для скрипта это незаметно и когда данные появятся, то он возобновляет работу. | ||