Использование Embedded Mongoose Server в C ++ для типичных задач сервера

Недавно я наткнулся на встроенную библиотеку веб-сервера mongoose, которую планирую использовать для проекта. Однако, только потратив много времени на Google и Stack Overflow, я смог получить базовый пример «Привет, мир», работающий на языке Си.

Теперь, когда я не могу найти какие-либо онлайн-учебники или существующие вопросы о переполнении стека о своих сомнениях, я хотел бы задать их здесь. У меня есть следующие вопросы по использованию сервера Mongoose:

  • Как мне узнать, что запрашивается?

Обычно на более популярных серверах, таких как Apache, когда пользователь вызывает «localhost / help.text», он отображает «help.txt» в браузере. Тем не менее, во встроенной версии Mongoose, как узнать, что запросил пользователь, чтобы я мог передать этот конкретный файл (или необработанные данные в моем случае) в зависимости от того, что запросил пользователь?

  • Как отправить файлы и их ассоциации в браузер клиента?

Из примеров я смог узнать, как необработанные данные отправляются в браузер клиента, но что, если я хочу отправить файл.
Скажем, например, я отправляю HTML-файл, все ли связанные файлы тоже отправлены?
Обычно, когда браузер обнаруживает CSS и javascript-файлы, он отправляет серверу другой запрос на эти файлы, а затем сервер отправляет обратно этот файл. Однако недавно я столкнулся с этим вопросом, и он меня немного смущает (хотя я не пробовал то, что говорит): Отобразить HTML и передать данные с HTML на сервер Mongoose

  • Как мне принять файлы от клиента? Как разрешить клиенту загружать что-то?

Я посетил приведенный на сайте пример загрузки файла Mongoose, но я не мог понять, что происходит.

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

С другой стороны, я хотел бы узнать больше о возможностях встроенного сервера Mongoose и о том, как их можно использовать.

Извините, если этот вопрос кажется очень простым, но из обзоров, которые я прочитал, и из того, что написано на сайте Mongoose, я думаю, что mongoose — отличный встроенный веб-сервер, если можно найти только немного больше документации по нему.

Спасибо.

1

Решение

  • Как мне узнать, что запрашивается?

Ответ в примере, https://github.com/cesanta/mongoose/blob/master/examples/hello.c Вся информация в struct mg_connection Структура передана обратному вызову.

  • Как отправить файлы и их ассоциации в браузер клиента?

Вы не должны делать это напрямую. Просто ответьте с помощью HTML-страницы, и браузер сам запросит все необходимые файлы, отправив отдельный запрос для каждого файла.

  • Как мне принять файлы от клиента? Как разрешить клиенту загружать что-то?

Да, вы можете загружать файлы. Есть пример https://github.com/cesanta/mongoose/blob/master/examples/upload.c о том, как это сделать.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]