Russian Qt Forum
Ноябрь 23, 2024, 17:48
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Стандартный способ клиент-сервер-БД
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Стандартный способ клиент-сервер-БД (Прочитано 5329 раз)
CJ1
Гость
Стандартный способ клиент-сервер-БД
«
:
Октябрь 27, 2012, 18:22 »
Привет всем.
Я делаю так, клиент отправляет например ключевое слово, сервер его ловит, делает запросы к БД и передает эти данные просто в сыром виде по строчке, а клиент их обрабатывает и собирает например QTableWidget.
А есть подобный способ только стандартный?
Тоесть например, чтоб не считать количество столбцов и строк в БД. И не отправлять данные построчно. А сразу как нибудь?
Записан
Bepec
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #1 :
Октябрь 27, 2012, 22:08 »
Клиент посылает запрос. -> Сервер его ловит -> обрабатывает данные в базе -> сериализует данные -> посылает клиенту -> клиент строит tableWidget.
Что тут непонятного?
PS в упрощении всё должно выглядеть проще:
клиент -> кодовое слово -> сервер -> (неведомая зверушка, не волнующая клиент) -> получение данных -> построение модели.
Записан
CJ1
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #2 :
Октябрь 28, 2012, 09:31 »
Я же написал что так и делаю!
Я хотел легкий способ
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Стандартный способ клиент-сервер-БД
«
Ответ #3 :
Октябрь 28, 2012, 10:22 »
В общем случае есть понятие "пакет данных", имеется заголовок. В простейшем случае заголовок содержит ID т.е. тип, сигнатура (ключевое слово) чтобы принимающий понял что это. И длину данных, чтобы принимающий знал сколько читать. Дальше крутите как хотите. Часто пакет считывается в буфер (напр QByteArray) это удобно чтобы приемнику не суетиться пока весь пакет не прочитан. Передавать по 1 строке не запрещено но необязательно - можно в пакете указать число строк. Нет принципиальной разницы "по сети" или как (напр запись на диск)
Записан
Bepec
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #4 :
Октябрь 28, 2012, 10:58 »
Что может быть легче, чем взять Qt классы и написать простейший клиент-сервер. Возьми даже из примеров - простейший чат. Там строк дай боже 50 наберётся.
Записан
CJ1
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #5 :
Октябрь 28, 2012, 11:54 »
Да, у меня так и есть передаются пакеты, и размеры.
Но это руками я делал.
А я хотел чтоб был типо класс, что то такоя. Но раз нету, то спасибо!
Записан
Bepec
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #6 :
Октябрь 28, 2012, 11:58 »
50 строк кода... Какой нафиг класс для этого?
По идее у вас он должен быть одним и на стороне клиента и на стороне сервера. Чтобы при изменениях, изменения вносились и туды и туды
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Стандартный способ клиент-сервер-БД
«
Ответ #7 :
Октябрь 28, 2012, 13:22 »
Цитата: CJ1 от Октябрь 28, 2012, 11:54
Да, у меня так и есть передаются пакеты, и размеры.
Но это руками я делал.
Все равно все сводится к операторам << и >> (ну или вумными словами "сериализации"). Передача/прием по сети использует тот же код что и запись/чтение в файл, просто др поток - и все
Записан
CJ1
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #8 :
Октябрь 28, 2012, 16:04 »
Блин, да просто щас задания, нужно 300 таблиц передавать, и каждая абсолютно разная, и у каждой разные вычисления. я предложил заказчику сделать возможность самому создавать таблицы, и тогда программа диамически расширяемая будет, так он посмотрел как это будет выглядеть, и сказал не надо ему расширяемость, пусть будет все статически. А я уже подписался на работу, и 2 касаря баксов снял..... Так уже потратил, отказываться нереально. А делать придется, вот и подумал, может можно как то по проще сделать
Чтоб постоянно не делать этого
Цитировать
клиент -> кодовое слово -> сервер -> (неведомая зверушка, не волнующая клиент) -> получение данных -> построение модели.
Записан
Bepec
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #9 :
Октябрь 28, 2012, 16:35 »
Это называется что? личные подробности жизни автора.
Так что потихоньку клепай 300 таблиц, стараясь успеть в срок )
«
Последнее редактирование: Октябрь 28, 2012, 17:24 от Bepec
»
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Стандартный способ клиент-сервер-БД
«
Ответ #10 :
Октябрь 28, 2012, 16:50 »
Цитата: Bepec от Октябрь 28, 2012, 16:35
Это называется что? Это называется жадность. А если ещё и сроки прижатые, то недостаток ума.
Ну вот не надо углубляться в подробности личной жизни (так неосторожно раскрытые автором). Где и с кем он пробухал эти деньги - его личное дело.
Непонятно что его смущает - в любом случае ID (ключевое слово) неизбежно и никакой ошибки он пока не сделал (не успел)
Записан
CJ1
Гость
Re: Стандартный способ клиент-сервер-БД
«
Ответ #11 :
Октябрь 28, 2012, 17:01 »
Буду клепать......
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...