Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > web сервер


Автор: icepro 17.9.2008, 00:44
пробую писать сабж, на дельфи получилось реализовать с помощью IdHTTPServer, а как реализовать на С++, прошу реальные советы, и на статьи по протоколам хттп или тцп прошу не отсылать, знаю как работает, но хотелось бы увидеть решение задачи на более простом уровне. можно также исходники. заранее спасибо!

Автор: nerezus 17.9.2008, 09:13
RFC 1945, RFC 2616
Там все есть.

Хотя тупо бери снифер и смотри, как работает готовый сервер. И сделай так же.

Автор: A1ukard 22.9.2008, 16:09
сначала говоришь telnet host.com 80, вводишь
GET / HTTP/1.0
Host: host.com
Connection: close
<пустая строка>

Затем ищешь в сети утилиту netcat.exe, заставляешь прослушивать 80-й порт, пишешь html-документ с формами и ссылками на localhost:80, узнаешь как передаются запросы, формы, файлы, логины/пароли, кукисы. После чего советую написать простейший КЛИЕНТ скачивающий файлы с хоста. Узнаешь про докачку, кодирование данных (в том числе Tranfer-Encoding: chunked, очень важно).  Для сервера версии 1.0 пожалуй достаточно.

Кольскоро у тебя появятся какие-то представления о протоколе, задача сводится к написанию TCP-сервера: службы или демону. В первом случае советую смотерть msdn на тему SCM. Во втором - забыть про inetd.

Надеюсь, остальное ты и так знаешь. А если нет - читай Стивенса. Удачи!

PS. Кстати еще есть утилита CommView, тебе она тоже пригодится.

Автор: Artemon 2.10.2008, 06:18
Выбирай любой:

http://sourceforge.net/search/?type_of_search=soft&words=sample+http+web+server

Автор: icepro 2.10.2008, 12:47
спасибо за ответы, сф как всегда помог!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)