Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
VitautH
0 / 0 / 1
Регистрация: 26.09.2014
Сообщений: 42
#1

Создание клиент-серверного приложения - C++

08.02.2015, 12:24. Просмотров 2132. Ответов 8
Метки нет (Все метки)

Здравствуйте!
Вопрос наверное больше будет по теории. Если я его не в ту тему задал, то, пожалуйста, извините.
Так вот. Знаю PHP, JavaScrip и умею работать с MySQL через PHP.
Не давно начал изучать C++ и C# и появилась идея написания клиенто-серверного приложения для обработки данных. Например, расчёта стоимости проезда.
Конечно, стоимость перегонов в самой программе никто хранить не будет. Их нужно хранить на сервере в базе данных.
И вот в чём вопрос.
Как лучше всего клиенту общаться с базой данных, например с MySQL? Напрямую, указывая при подключении сервер базы данных или писать на PHP API обёртку и чтобы клиентское приложение вызывало определённый метод PHP, передавало ему параметры, а он в ответ отдавал необходимую информацию?
Почему интересует именно MySQL? Просто в планах ещё написать и полноценное Web приложение, а для PHP больше всего подходит MySQL.
Спасибо за ответы.
http://www.cyberforum.ru/cpp-beginners/thread668318.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2015, 12:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание клиент-серверного приложения (C++):

Создание клиент-серверного приложения с применением межпроцессного взаимодействия на основе проекций файлов
Написать с применением межпроцессного взаимодействия на основе проекций файлов...

Шифрование IP траффика клиент-серверного приложения
Есть приложение типа клиент-сервер, надо реализовать механизм шифрования всего...

клиент-серверные приложения
Здравствуйте! Подскажите, есть задача НАУЧИТЬСЯ писать клиент-серверные...

Структура приложения Клиент-сервер
как в c++ будет выглядеть код, который на java выглядит так SERVER: ...

Клиент-серверное приложения, получение даты с сервера
Ребята, я С++ вообще не знаю, но пишу на php+mysql. Вот мне интересно узнать,...

8
Kapitan79
3 / 3 / 3
Регистрация: 13.10.2013
Сообщений: 157
08.02.2015, 16:15 #2
Вопрос в том, как соединится с mysql через PHP или C++?
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
08.02.2015, 16:34 #3
Цитата Сообщение от VitautH Посмотреть сообщение
Как лучше всего клиенту общаться с базой данных, например с MySQL? Напрямую, указывая при подключении сервер базы данных или писать на PHP API обёртку и чтобы клиентское приложение вызывало определённый метод PHP, передавало ему параметры, а он в ответ отдавал необходимую информацию?
Мое мнение - незачем привязывать клиента к специфике БД на сервере.
Пускай просто передает запросы через тот же HTTP, к примеру, ну а
там сервер разрулит, какая база данных, какой запрос делать и т.п.
0
VitautH
0 / 0 / 1
Регистрация: 26.09.2014
Сообщений: 42
08.02.2015, 16:59  [ТС] #4
То есть лучше использовать API на том же PHP или ASP?
0
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
08.02.2015, 17:19 #5
С точки зрения гибкости - да. Так любой клиент без всяких дополнительных
компонентов сможет работать с БД. Замена одной БД на другую для клиента
может пройти вообще незаметно. Между клиентом, веб-интерфейсом и БД
могут быть другие компоненты, например какой-нибудь веб-кэш и т.п. И снова
для клиента все это совершенно прозрачно, т.к. он видит только веб-интерфейс.

В конкретных условиях, когда, например, высочайшие требования к скорости,
такими вещами можно и пожертвовать, но здесь я бы не стал.
0
8Observer8
2037 / 1330 / 216
Регистрация: 05.10.2013
Сообщений: 4,224
Записей в блоге: 56
08.02.2015, 17:25 #6
Если речь о C++, то можно использовать фреймворк Qt. Там есть классы для работы с web, базами данных и т.д. Есть даже СУБД, которая идёт с Qt - это SQLite. Ещё в Qt можно писать GUI с использованием JavaScript и CSS - называется QML. Qt бесплатный и с отрытым исходным кодом под лицензией GNU GPL, а так же можно купить коммерческую лицензию

Это как вариант, а есть ещё куча других библиотек и фреймворков на C++

Добавлено через 52 секунды
По-моему, я не по теме ответил...
1
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
08.02.2015, 17:28 #7
Цитата Сообщение от 8Observer8 Посмотреть сообщение
По-моему, я не по теме ответил.
А по-моему, очень даже по теме.
Готовые средства для работы с конкретными БД - это для такой
задачи всегда жирный плюс.
1
VitautH
0 / 0 / 1
Регистрация: 26.09.2014
Сообщений: 42
08.02.2015, 17:44  [ТС] #8
Спасибо насчёт Qt и SQLite. Как раз для локальных приложений подойдёт. А то я долго думал, где локальные приложения хранят пользовательские данные (в принципе их можно хранить и в том же XML, но БД здесь как-то лучше смотрится).
А вот для инфраструктурных приложений с доступам в нет я бы всё же использовал собственное API, хоть на первый взгляд это более трудозатратно.
Кстати, а для C# есть какая-нибудь локальная база данных?
Сейчас может немного не по теме, но написал 2 идентичные консольные программы на C++ и C# и заметил, что первая весит больше второй (файл), а оперативки занимает в 2 раза меньше второй.
Поэтому для ресурсоёмких задач лучше писать на плюсах.
0
Казерская Ирина
96 / 32 / 9
Регистрация: 22.08.2014
Сообщений: 104
09.02.2015, 07:46 #9
C# может работать практически с любой базой данных. Например, с Access. Я видела образец даже с Mongo. Или с той же MySQL, которая при этом может находиться на обычном сервере, на докальном сервере вроде Денвера или просто быть поставлена на винду. MySQL ведь может работать и без всякого сервера просто на винде, как локальная база данных. Чтоб с ней работал C#, нужно скачать и добавить в проект библиотеку MySql.Data.dll
она на сайте MySql
C#
1
2
//Для MySql: скачать MySql.Data.dll, Меню->Проект->добавить ссылку->Обзор->найти MySql.Data.dll->ОК
using MySql.Data.MySqlClient;
и вводим строковые переменные. собирая строку подключения
C#
1
2
3
4
5
6
7
8
9
10
string host; // Имя хоста
string user; // Имя пользователя
string database; // Имя базы данных
string password; // Пароль
string connect;// строка для подключения
...
connect = "Database=" + database + ";Datasource=" + host + ";User=" + user + ";Password=" + password;
 
mysql_dbc = new MySqlConnection(Connect);
mysql_dbc.Open();
0
09.02.2015, 07:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2015, 07:46
Привет! Вот еще темы с решениями:

Создание приложения
Итак, начинаю постигать азы программирования на С++. Поставлена следующая...

Создание приложения не в консоли
Здравствуйте. Более менее овладел основными понятиями в c++. Все это время...

Создание неконсольного приложения
Как создать неконсольное приложение? Если выбрать в visual studio приложение...

Создание оконного приложения. C++
Здравствуйте! Закончил консольный проект,теперь думаю как его перевести в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru