Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реализация WEB-сервера (HTTP), Сделать поставку браузеру html страниц 
:(
    Опции темы
execoma
  Дата 11.10.2010, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 8.3.2010

Репутация: -2
Всего: -2



Здравствуйте, уважаемые разработчики. У меня есть задача реализовать систему компьютерного тестирования учащихся. Для проведения тестирования есть два варианта:
1. программа сервер <-> программа тестирования (клиент)
2. программа сервер <-> браузер
Вариант 1 достаточно легко решается сокетами, но данный способ не удобен в плане эксплуатации. Задача стоит именно так, чтобы организовать взаимодействие программа сервер <-> браузер, где учащиеся подключаются через браузеры к серверу, который и требуется разработать. Страницы которые нужно передавать серверу являются обычными веб-страницами html + css + графика. Нужно чтобы при подключении через браузер, выдавалась страница index.html из некого каталога, например, C:\temp_connection_2\index.html. При этом нужно чтобы подгружались браузером все связанные с этой страницей файлы (стили, графика, js-скрипты и т.д.). С помощью сокетов я могу передавать браузеру текст, но что касается привязанных файлов то тут я испытываю сложности, т.к. это упирается в протокол HTTP. Я хочу разобраться как мне сделать такой веб-сервер. Я знаю что есть компоненты TServerSocket, TTcpServer, TidTCPServer. Но я никогда не с одними из них не работал и информации в сети скудно на эту тему (что касается использования этих компонентов для создания web-серверов для браузеров). Кто-нибудь сталкивался с подобными задачами? Что-нибудь можете посоветовать?

Это сообщение отредактировал(а) execoma - 11.10.2010, 18:26
PM MAIL   Вверх
borisbn
Дата 12.10.2010, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



Писать свой web-сервер на Си++, а тем более на Builder'е, IMHO даже хуже, чем изобретать велосипед. Лучше всего  использовать готовый сервер, например TomCat или Microsoft ISS и писать свою задачу на html+css+js с использованием "интернет-языка" типа php


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
CPlus
Дата 12.10.2010, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.10.2010

Репутация: нет
Всего: нет



Цитата(borisbn @  12.10.2010,  09:28 Найти цитируемый пост)
Писать свой web-сервер на Си++, а тем более на Builder'е, IMHO даже хуже, чем изобретать велосипед.


Изучите продукт на форуме которого вы находитесь.

Цитата(execoma @  11.10.2010,  18:25 Найти цитируемый пост)
Что-нибудь можете посоветовать?


Для создания своего WEB сервера в С++ Builder присутствует ряд мощных и удобных технологий. Посмотрите примеры видео на сайте Embarcadero. Для создания WEB серверов с поддержкой AJAX+html+css+js  и прочих наворотов, мы, например, используем технологию IntraWEB которая идет в поставке начиная с С++ Builder 2007. Это просто и удобно. 
Для реализации вашей задачи придется потратить порядка 2-х часов. Час на поиск справочной информации (примеры можно посмотреть, например, здесь:  http://iwdemos.codeplex.com/releases/view/35281 и примерно час на саму реализацию.

PM MAIL   Вверх
TIT
Дата 12.10.2010, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 4.4.2010

Репутация: 1
Всего: 3



Как сказал Борис выше, изобретать велосипед, даже если это возможно на Билдере, смысла не имеет.
Си очень хороший язык, но не заточен он под веб-технологии. А вам, с вашей задачей нужны именно веб-технологии.
Если вам необходимо реализовать простую форму для тестирования, посмотрите в сторону форм от Docs Google.com.
На их основе вы можете создать форму с вопросами, вариантами ответов и т. д. и собирать все данные от тестируемых в удобной таблице .xls, которую потом можно обрабатывать как вам надо.
Если же необходим автономный вариант системы тестирования, то посмотрите в сторону связки web-server (тут можно долго холиварить, я советую lighttpd, Борис -- Апачей, это на ваш выбор), базы данных для хранения вопросов и ответов (тут тоже можно долго холиварить, я советую postgresql, Борис же посоветует mysql или oracle smile, и php, как самый нативный для веб-проекта скриптовой язык.
Писать собственный веб-сервер, который принимает и отдаёт текстовую информацию и не более того смысла нет. Писать backend для приёма данных формы, записи в БД и последующей обработки лучше, конечно на php, но можно извратиться и на Си написать в формате cgi (но вы проклянёте всё на свете во время деплоинга).

В заключении.
Если решите пойти по пути наименьшего сопротивления, то вам нужно будет:
1. Создать статичный .html файл с формой тестирования, в которой будет форма, контрольки и сабмит.
2. Всё это безобразие будет отдаваться скрипту-обработчику.
3. В качестве веб-сервера поставьте lighttpd, который примет форму в виде POST-запроса и отдаст её скрипту на .php
4. Скрипт на .php проверит и положит все данные из POST'а в базу данных mysql или postgresql и сообщит обратно пользователю, что всё прошло хорошо.

Если у вас появятся вопросы по связке web-server/xSQL/php, то во избежании оффтопа, можете задать любой вопрос мне в почту [email protected]

p. s. to Boris: Будь проклят тот, кто придумал алгоритм прикручивания php к iis'е.

Добавлено через 5 минут и 42 секунды
Цитата(CPlus @ 12.10.2010,  11:17)
Для создания своего WEB сервера в С++ Builder присутствует ряд мощных и удобных технологий. Посмотрите примеры видео на сайте Embarcadero. Для создания WEB серверов с поддержкой AJAX+html+css+js  и прочих наворотов, мы, например, используем технологию IntraWEB которая идет в поставке начиная с С++ Builder 2007. Это просто и удобно. 
Для реализации вашей задачи придется потратить порядка 2-х часов. Час на поиск справочной информации (примеры можно посмотреть, например, здесь:  http://iwdemos.codeplex.com/releases/view/35281 и примерно час на саму реализацию.

Если человек решил написать большой проект, в котором, допустим, админка будет через-вебморду, тогда да, имеет смысл веб-сервер вставить в программу.
Но в данном случае человеку нужна простая форма для тестирования. Форма из пяти вопросов с вариантами ответов и таблица с результатами.

И почему-то мне кажется, что изучить, а главное, написать свой полноценно-работающий веб-сервер -- задача не на два часа.
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
CPlus
Дата 12.10.2010, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 12.10.2010

Репутация: нет
Всего: нет



Цитата(TIT @  12.10.2010,  12:50 Найти цитируемый пост)
Но в данном случае человеку нужна простая форма для тестирования. Форма из пяти вопросов с вариантами ответов и таблица с результатами.


IntraWEB + 2 часа времени. Достаточно просто попробывать.
PM MAIL   Вверх
execoma
Дата 12.10.2010, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 8.3.2010

Репутация: -2
Всего: -2



Всем спасибо за советы smile Отдельное спасибо TIT ;) Я пришёл к определенному заключению как буду делать. Я нашёл портированную версию апатча+пхп+мускл+всякая фигня (не требуется установка, все сконфигурированно):
Portable wAMP (Apache, MySQL, PHP): http://blog.x-code.name/2008/04/15/9/
Выкину оттуда всякую фигню и попробую это использовать. Почему апатч? Совершенно бесплатный и по данным из wiki к апатчу очень много всяких плагинов, айда что-нибудь когда-нибудь и пригодиться, например, шифровать свои файлики php, чтобы юзеры там не ковырялись.

Это сообщение отредактировал(а) execoma - 12.10.2010, 21:13
PM MAIL   Вверх
oldcode
Дата 15.10.2010, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 116
Регистрация: 8.10.2010

Репутация: 0
Всего: 0



К стати, о копирайтах. Это не 
Цитата
© Кортнев & Co
 - а Жоржи Амаду и "Капитаны песка" . Кортнев просто спел перевод темы из известного и любимого мной фильма...
PM MAIL   Вверх
borisbn
Дата 15.10.2010, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 18
Всего: 135



oldcode, знаю, исполнение Кортнева мне больше нравится, чем песня из 
Цитата(oldcode @  15.10.2010,  15:15 Найти цитируемый пост)
из известного и любимого мной фильма

мной тоже smile


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.1058 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.