Russian Qt Forum

Qt => Вопросы новичков => Тема начата: demaker от Июнь 13, 2012, 16:36



Название: Сервер
Отправлено: demaker от Июнь 13, 2012, 16:36
А возможно ли на Qt написать сервер, который формирует web-страницу. А страница обновляется раз в 30-секунд автоматически?:)


Название: Re: Сервер
Отправлено: mutineer от Июнь 13, 2012, 16:37
конечно возможно


Название: Re: Сервер
Отправлено: demaker от Июнь 13, 2012, 16:49
Подскажите как примерно это должно выглядить :)


Название: Re: Сервер
Отправлено: mutineer от Июнь 13, 2012, 16:56
Если все реализовывать самому, то QTcpServer, реализация http и еще куча работы)))
Ну или поискать готовую либу для http сервера, а то и готовый сервер взять


Название: Re: Сервер
Отправлено: demaker от Июнь 13, 2012, 17:01
Нет хотелось бы самому написать.
Ну QTcpServer это понятно, да и смногопоточным подключением можно разобраться.

А вот отображение страницы и обновление ее в клиентском браузере ???
Как примерно можно это сделать ???  ;)


Название: Re: Сервер
Отправлено: mutineer от Июнь 13, 2012, 17:03
Обновление очень просто - javascript в странице, который ее обновляет
А про отображение не понял вопроса


Название: Re: Сервер
Отправлено: demaker от Июнь 13, 2012, 17:11
А есть какие библиотеки в Qt которые могут работать  со страницами ???


Название: Re: Сервер
Отправлено: mutineer от Июнь 13, 2012, 17:13
С какими страницами?
И что подразумевается под "работать"?


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 11:27
Примерно так :
у нас сервер с данными.
На другой комп установим клиента и он заходит на сервак через браузер.
На странице отображаются данные и обновляются каждые 30 секунд :)


Название: Re: Сервер
Отправлено: mutineer от Июнь 14, 2012, 11:29
Делаешь http-сервер (сам через QTcpSocket или через готовый компонент), который формирует нужную страницу. В странице javascript, который эту страницу обновляет раз в 30 секунд.


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 12:38
А клиент надо писать на java или на Qt?


Название: Re: Сервер
Отправлено: mutineer от Июнь 14, 2012, 12:39
А клиент надо писать на java или на Qt?
Какой клиент? Ты же говорил что через браузер работает

Если нужно именно самому сделать, то бери QWebView

А если уж самому писать и сервер и клиент то может нафиг вообще "web" выкинуть и юзать свой протокол?

Короче непонятно что именно тебе надо


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 12:41
Ум понял :)
Спасибо ;)


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 13:20
А клиент надо писать на java или на Qt?
Какой клиент? Ты же говорил что через браузер работает

Если нужно именно самому сделать, то бери QWebView

А если уж самому писать и сервер и клиент то может нафиг вообще "web" выкинуть и юзать свой протокол?

Короче непонятно что именно тебе надо

не мне нужно именно через web


Название: Re: Сервер
Отправлено: alexis031182 от Июнь 14, 2012, 13:27
не мне нужно именно через web
казнить нельзя помиловать


Название: Re: Сервер
Отправлено: mutineer от Июнь 14, 2012, 13:29
не мне нужно именно через web
казнить нельзя помиловать

А может просто нужно, но не ему:)


Название: Re: Сервер
Отправлено: alexis031182 от Июнь 14, 2012, 13:33
А может просто нужно, но не ему:)
Жить в своем доме всегда одному
Скучно и мне, и тебе и ему!
Ведь сколько на свете хороших друзей
Хороших друзей, хороших друзей
Сколько на свете веселых затей
Веселых затей, веселых затей (с) ;D


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 13:41
 ;D
мне нужно через web

А в Qt 4.7 что-то нет QHttp ???


Название: Re: Сервер
Отправлено: mutineer от Июнь 14, 2012, 13:47
;D
мне нужно через web

А в Qt 4.7 что-то нет QHttp ???

Его заменили на QNetworkAccessManager


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 13:56
 :)


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 15:30
Его заменили на QNetworkAccessManager

Скажите  есть компанент QTcpServer, а компанент  QNetworkAccessManager для http-cервера подходит?


Название: Re: Сервер
Отправлено: mutineer от Июнь 14, 2012, 15:31
нет


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 15:37
А можно серевер через сокет повесить на 80-порт  и с него читать...
Ну и в клиенте собирать это через HTML?


Название: Re: Сервер
Отправлено: mutineer от Июнь 14, 2012, 15:51
да


Название: Re: Сервер
Отправлено: demaker от Июнь 14, 2012, 16:22
спасибо  :)


Название: Re: Сервер
Отправлено: demaker от Июнь 15, 2012, 00:53
Подскажите,как можно передавть HTML-код браузеру от QTcpServera браузеру :)


Название: Re: Сервер
Отправлено: demaker от Июнь 15, 2012, 00:58
Или передавать данные в текстовый - файл и потом его в html ???


Название: Re: Сервер
Отправлено: trot от Июнь 15, 2012, 09:20
Нужно изучить http протокол и тогда будет ясно, как формировать ответ сервера. Вкратце так - браузер сначало получает http заголовок, по которому он определяет как ему отображать следующий за заголовоком поток данных. Вы должны понимать, что браузер работает не только с html страницами.


Название: Re: Сервер
Отправлено: lighting от Июнь 15, 2012, 09:39
demaker судя по твоим вопросам проще всего тебе будет поискать готовый компонент или готовый пример http сервера. Вот например что мне гугль накидал при первом-же запросе:
http://qt-project.org/forums/viewthread/3658
http://habrahabr.ru/post/131472/
не факт что это в точности то что тебе нужно но направление правильное задаёт.


Название: Re: Сервер
Отправлено: demaker от Июнь 16, 2012, 14:26
demaker судя по твоим вопросам проще всего тебе будет поискать готовый компонент или готовый пример http сервера. Вот например что мне гугль накидал при первом-же запросе:
http://qt-project.org/forums/viewthread/3658
http://habrahabr.ru/post/131472/
не факт что это в точности то что тебе нужно но направление правильное задаёт.

БОЛЬШОЕ Спасибо это действительно то что надо :)