Russian Qt Forum
Ноябрь 22, 2024, 21:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Создание своего Web-Server  (Прочитано 14566 раз)
Yegor
Гость
« : Январь 05, 2017, 18:51 »

Всем здравствуйте!

Каким образом можно создать свой примитивный web-server? Используя классы Qt5. Чтобы к нему можно было подключаться по локальной сети популярными веб-браузерами. Для заполнения на странице из браузеров текстовые поля например.
Сервер простой.

Что для этого есть в Qt5? Какие модули, классы?
Спасибо!
« Последнее редактирование: Январь 05, 2017, 22:11 от Yegor » Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Январь 05, 2017, 19:33 »

QTcpServer и QTcpSocket.
Записан
Yegor
Гость
« Ответ #2 : Январь 05, 2017, 20:33 »

Понятно, спасибо! То есть можно с помощью tcp сокетов принимать запросы, отправлять результат. А какие есть классы более высокого уровня для такой задачи? Смотрел, в модуле QtCore есть класс QNetworkAccessManager и его прилагающие. Но он подходит  лишь для клиента. Может что полезного можно взять из Qt WebKit, Qt WebSocket, Qt Web Channel ?
« Последнее редактирование: Январь 05, 2017, 20:41 от Yegor » Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Январь 05, 2017, 21:12 »

Первым делом вам нужно почитать спецификацию http протокола, и первый сервер вы напишете за 15 минут. Улыбающийся
Записан
Yegor
Гость
« Ответ #4 : Январь 05, 2017, 22:11 »

Спасибо большое, Old!
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Январь 06, 2017, 00:28 »

нужно написать всё самому? Если нет, то есть QHTTP (скачивается отдельно из git).
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #6 : Январь 06, 2017, 16:59 »

не первая тема о написании своего http сервера
я никак не пойму зачем ?
ведь есть же готовые открытые - бери и решай свою основную задачу ими
Записан
Bepec
Гость
« Ответ #7 : Январь 06, 2017, 23:26 »

Вот рили, простого аля "отдать страничку" я так и не нашел Улыбающийся
Есть крутосупернавороченнонастраиваемыефронтежбакэнд серверы. А отдать статичный HTML - нетушки Улыбающийся
Записан
Old
Джедай : наставник для всех
*******
Online Online

Сообщений: 4350



Просмотр профиля
« Ответ #8 : Январь 07, 2017, 00:10 »

Вот рили, простого аля "отдать страничку" я так и не нашел Улыбающийся
Есть крутосупернавороченнонастраиваемыефронтежбакэнд серверы. А отдать статичный HTML - нетушки Улыбающийся
Такое на коленке делается за 10 минут.
Записан
Yegor
Гость
« Ответ #9 : Январь 08, 2017, 12:47 »

нужно написать всё самому? Если нет, то есть QHTTP (скачивается отдельно из git).

Отличное решение на https://github.com/azadkuh/qhttp
Как раз идеально для такой задачи.

Спасибо большое, Alex Custov!
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #10 : Январь 08, 2017, 13:11 »

Каким образом можно создать свой примитивный web-server?
У вас задача самому сделать реализацию веб-сервера, или же поднять веб-сервер с минимальными затратами? Если второе, то лучшее решение, которое я нашел для себя - QtWebApp http://stefanfrings.de/qtwebapp/index-en.html. Отличный мануал, невероятная гибкость, умный и контактный автор  Улыбающийся
Рекомендую. У меня работает на Ubuntu, в том числе на Raspberry Pi и Odroid C3.
Кстати, если будете реализовывать на нем server side events (есть такая возможность), поделитесь примером сюда Подмигивающий - самому пока нет времени, но в будущем будет нужен.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #11 : Январь 08, 2017, 22:08 »

У вас задача самому сделать реализацию веб-сервера, или же поднять веб-сервер с минимальными затратами? Если второе, то лучшее решение, которое я нашел для себя - QtWebApp http://stefanfrings.de/qtwebapp/index-en.html. Отличный мануал, невероятная гибкость, умный и контактный автор  Улыбающийся

Если сравнить с QHTTP,  в чём отличие?
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #12 : Январь 08, 2017, 23:34 »

Если сравнить с QHTTP,  в чём отличие?
Трудно судить, к сожалению, QHTTP я не пробовал, посоветовал то, что у меня прекрасно работает.
Если навскидку, по описанию: поддержка https, html-шаблоны и статические файлы, поддержка куков и пользовательских сессий, журналирование (4 уровня).

Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #13 : Январь 10, 2017, 00:10 »

Если сравнить с QHTTP,  в чём отличие?
Трудно судить, к сожалению, QHTTP я не пробовал, посоветовал то, что у меня прекрасно работает.
Если навскидку, по описанию: поддержка https, html-шаблоны и статические файлы, поддержка куков и пользовательских сессий, журналирование (4 уровня).

Basic Auth поддерживается?
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #14 : Январь 10, 2017, 10:58 »

Basic Auth поддерживается?
Упоминания об этом механизме я не нашел. Пример организации аутентификации в библиотеке приводится на основе сохранения данных в сессии пользователя.
Я не большой специалист в области веб-приложений, а он нужен, этот BA?
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.143 секунд. Запросов: 23.