![]() |
|
![]() ![]() ![]() |
|
execoma |
|
|||
Новичок Профиль Группа: Участник Сообщений: 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 |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
Писать свой web-сервер на Си++, а тем более на Builder'е, IMHO даже хуже, чем изобретать велосипед. Лучше всего использовать готовый сервер, например TomCat или Microsoft ISS и писать свою задачу на html+css+js с использованием "интернет-языка" типа php
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
CPlus |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.10.2010 Репутация: нет Всего: нет |
Изучите продукт на форуме которого вы находитесь. Для создания своего WEB сервера в С++ Builder присутствует ряд мощных и удобных технологий. Посмотрите примеры видео на сайте Embarcadero. Для создания WEB серверов с поддержкой AJAX+html+css+js и прочих наворотов, мы, например, используем технологию IntraWEB которая идет в поставке начиная с С++ Builder 2007. Это просто и удобно. Для реализации вашей задачи придется потратить порядка 2-х часов. Час на поиск справочной информации (примеры можно посмотреть, например, здесь: http://iwdemos.codeplex.com/releases/view/35281 и примерно час на саму реализацию. |
|||
|
||||
TIT |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 4.4.2010 Репутация: 1 Всего: 3 |
Как сказал Борис выше, изобретать велосипед, даже если это возможно на Билдере, смысла не имеет.
Си очень хороший язык, но не заточен он под веб-технологии. А вам, с вашей задачей нужны именно веб-технологии. Если вам необходимо реализовать простую форму для тестирования, посмотрите в сторону форм от Docs Google.com. На их основе вы можете создать форму с вопросами, вариантами ответов и т. д. и собирать все данные от тестируемых в удобной таблице .xls, которую потом можно обрабатывать как вам надо. Если же необходим автономный вариант системы тестирования, то посмотрите в сторону связки web-server (тут можно долго холиварить, я советую lighttpd, Борис -- Апачей, это на ваш выбор), базы данных для хранения вопросов и ответов (тут тоже можно долго холиварить, я советую postgresql, Борис же посоветует mysql или oracle ![]() Писать собственный веб-сервер, который принимает и отдаёт текстовую информацию и не более того смысла нет. Писать 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 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.10.2010 Репутация: нет Всего: нет |
||||
|
||||
execoma |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 8.3.2010 Репутация: -2 Всего: -2 |
Всем спасибо за советы
![]() Portable wAMP (Apache, MySQL, PHP): http://blog.x-code.name/2008/04/15/9/ Выкину оттуда всякую фигню и попробую это использовать. Почему апатч? Совершенно бесплатный и по данным из wiki к апатчу очень много всяких плагинов, айда что-нибудь когда-нибудь и пригодиться, например, шифровать свои файлики php, чтобы юзеры там не ковырялись. Это сообщение отредактировал(а) execoma - 12.10.2010, 21:13 |
|||
|
||||
oldcode |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 116 Регистрация: 8.10.2010 Репутация: 0 Всего: 0 |
К стати, о копирайтах. Это не
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
oldcode, знаю, исполнение Кортнева мне больше нравится, чем песня из
мной тоже ![]() -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |