|
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
![]()
Сообщение
#1
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз ![]() |
Имя: WebModule
Версия: 0.1 Минимальная версия хаба и lua-плагина: RusHub 2.1.3 LuaScripts 1.14 Описание: Модуль для встроенного веб-сервера. Парсит полученные данные, формируются таблицы. Вызов модуля: require"web" Функции модуля: Web.GetEnv(sData) - забирает данные полученные в функции OnWebData и формирует таблицы Web.OnWebData(WebID, tServer, tGet) - функция подгружает скрипты для обработки и отдачи веб-сервером. Путь до папки со скриптами загружаемые веб-сервером: \www (корневая директория, в которой содержится RusHub.exe) ![]() Это тестовая версия модуля, крайне не рекомендуется использовать на работающих хабах. Выложил для отладки ![]() |
|
|
![]()
Сообщение
#2
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Молодец Влади. Что с 1 взгляда еще надо доделать: парсинг в массивы GET и POST, и еще самое важное замечание - в начале того что отправляет веб-сервер должны быть заголовки, отделяемые от контента пустой строкой, на сколько я знаю они обязательны. Попробуй покопаться с отладочными SendToAll в моих творениях на эту тему, там все есть
![]() |
|
|
![]()
Сообщение
#3
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Хорошая работа.
Поясню как этим пользоваться. Пишем и запускаем скрипт: Код require"web" function OnWebData(WebID, sData) return Web.OnWebData(WebID, Web.GetEnv(sData)) end После этого уже можно браузером входит. |
|
|
![]()
Сообщение
#4
|
|
![]() Освоившийся участник ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 344 Регистрация: 2.6.2008 Из: RB,Ufa Пользователь №: 8 Спасибо сказали: 106 раз ![]() |
Молодец Влади. Что с 1 взгляда еще надо доделать: парсинг в массивы GET и POST, и еще самое важное замечание - в начале того что отправляет веб-сервер должны быть заголовки, отделяемые от контента пустой строкой, на сколько я знаю они обязательны. Попробуй покопаться с отладочными SendToAll в моих творениях на эту тему, там все есть ![]() Массив GET уже формируется, посмотри повнимательнее, насчет заголовков хз, я парсил как раз все что выводил SendToAll, хром этот веб-сервер почему-то вообще плохо воспринимает (ошибка 324 если не ошибаюсь) есть еще некоторые нюансы в формировании массива Server которые нужно исправить, а вот массив POST конечно необходимо заполнять. У меня уже готовая веб-морда для хаба, однако есть у нее одна проблема, данные передаются методом GET и похоже из-за этого все что после пробела "теряется" |
|
|
![]()
Сообщение
#5
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Заголовки отправляет браузер, ты их и парсишь, а заголовки есть еще и в ответе браузеру до тела самой страницы, а хромик любит хорошие сервера что работают по документациям. Удачи в разработке, нужная штука как никак, надеюсь работает она быстро!
|
|
|
![]()
Сообщение
#6
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Клиенту не отсылаются бинарные данные. Например картинки. Чувствую что должна быть определённая структура отправляемого сообщения для картинок.
|
|
|
![]()
Сообщение
#7
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Для картинки отправляется заголовок Content-Type: тут_тип_данных
Для JPGи к примеру будет Цитата Content-Type: image/jpg А вообще ответ сервера выглядит примерно так (это наш форум такое отправляет ![]() Код HTTP/1.1 200 OK
Server: nginx/0.5.33 Date: Mon, 01 Mar 2010 09:56:00 GMT Content-Type: text/html; charset=windows-1251 Transfer-Encoding: chunked Connection: keep-alive Keep-Alive: timeout=20 X-Powered-By: PHP/5.2.4-2ubuntu5 Set-Cookie: session_id=0fffb2dabc4079d55874a47231ea0ee2; path=/; httponly <html> <head> </head> <body> </body> </html> |
|
|
![]()
Сообщение
#8
|
|
![]() МЕДВЕД =) ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 187 Регистрация: 6.8.2008 Пользователь №: 332 Спасибо сказали: 4 раза ![]() |
что-то не совсем понял, как этим пользоваться. Вернее совсем не понял.
![]() 404 он мне выдает. Все значения в таблице none, кроме DOCUMENT_ROOT: тут указан путь до папки www - чего я только туда не пихал, и хтмл и переделанную хтмл в lua (за пример взял 404.lua)... Ну и как всем этим добром распорядиться? |
|
|
![]()
Сообщение
#9
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
На самом деле это экспериментальный модуль. В папке www нужно создать файл index.lua, и используя язык lua формировать и отсылать клиенту ответ на его запрос. Исполнение данного сценария выполнено в простой Lua загрузке, что не очень удобно.
Ещё много чего нужно сделать, а пока многое что не правильно работает в принципе. Мы хотим добиться использования lua со стороны сервера вместо php. Наиболее приемлемый вариант тут: http://mydc.ru/topic3007.html однако он использует luasocket, а текущий модуль работает на встроенном веб сервере, что в разы быстрее при минимальной нагрузке на сервер. Посмотрев что необходимо для перевода скрипта Ника для работы на встроенном веб-сервере, действительно убедился в том, что необходима функция, возвращающая ip адрес клиента. Реализую эту функцию в ближайшее время. Просто замечательная находка использовать конструкцию вида: Код <?lua ... ?> Сравниваем с конструкцией php:Код <?php ... ?> Переходим с php на lua ![]() |
|
|
![]()
Сообщение
#10
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
В деловом общении, да и вообще по-дружески лучше Ник или Николя, можно просто Н, но это отступление, как-то не любится мне "Коля". Не сочтите за замечание, это лишь просьба.
Парсер я сейчас еще больше извратил, версия 0.2 уже готова, я лишь хотел перед выходом ее в свет еще что-то доделать к скрипту, а именно связку с сторонними скриптами для их настройки, т.е. написать модуль, но пока не имею возможности. Если выйдет веб-сервер с определением IP то я переделаю веб-конфиг под него. |
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
От: WebModule От темы с ID: 3149 |
0 | Jaska | 3 905 | 1.3.2010, 2:14 Посл. сообщение: Jaska |
![]() |
От: WebModule От темы с ID: 3149 |
-1 | -- | 3 979 | -- Посл. сообщение: -- |
![]() |
Сейчас: 8.9.2024, 2:58 |