Реализация HTTP в C ++ - PullRequest
       25

Реализация HTTP в C ++

1 голос
/ 28 ноября 2011

Я работаю над проектом, в котором мне нужно реализовать http с нуля;Мне приходится собирать файлы из пакетов, а не использовать предварительно созданный файл-граббер, такой как wget или cURL.Существуют ли какие-либо простые фреймворки (кроссплатформенные или unix) для работы с пакетами?У кого-нибудь есть примеры методов GET или PUT, которые они реализовали сами на уровне пакета?

Ответы [ 3 ]

3 голосов
/ 28 ноября 2011

HTTP не реализован на уровне пакетов, он реализован поверх сокета TCP, который представляет собой поток.

HTTP / 1.1 определяется RFC2616 , хотя существует множество трюков и ловушек реализации, которые не очевидны из спецификации.

2 голосов
/ 28 ноября 2011

Замечания о слоях OSI, которые все остальные оставляют в стороне ...

Вы можете тривиально сериализоваться со стандартным C ++ или использовать архив / ASIO и аналогичные механизмы из библиотек BOOST.

Вместо того, чтобы указать вам одно место, я бы посоветовал вам прочитать этот вопрос и его различные ответы о переполнении стека:

Сериализация и отправка структуры данных с помощью Boost?

Он достаточно хорошо охватывает ваши варианты и дает хорошие ресурсы, чтобы вы были довольны, чтобы вы могли принимать более обоснованные решения в зависимости от того, что вы будете делать.

0 голосов
/ 28 ноября 2011

Вам следует попробовать использовать класс POCO HttpClient / HttpServer из http://pocoproject.org/ HttpClient должен поддерживать методы POST / GET, которые вам необходимы для клиентской стороны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...