Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

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

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

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

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

Создание клиент-серверного приложения - C++
Доброго дня. Необходимо написать программу обращения матрицы, она должна быть клиент серверной, то есть, пользователь вводит данные в...

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

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

клиент-серверные приложения - C++
Здравствуйте! Подскажите, есть задача НАУЧИТЬСЯ писать клиент-серверные приложения(на с++ с помощью Rar Studio) Вопрос : 1.что для...

Структура приложения Клиент-сервер - C++
как в c++ будет выглядеть код, который на java выглядит так SERVER: Socket socket = new ServerSocket(34323, 5,...

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

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

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

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

Добавлено через 52 секунды
По-моему, я не по теме ответил...
1
Убежденный
Ушел с форума
Эксперт С++
15794 / 7231 / 1138
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
08.02.2015, 17:28 #7
Цитата Сообщение от 8Observer8 Посмотреть сообщение
По-моему, я не по теме ответил.
А по-моему, очень даже по теме.
Готовые средства для работы с конкретными БД - это для такой
задачи всегда жирный плюс.
1
VitautH
0 / 0 / 0
Регистрация: 26.09.2014
Сообщений: 42
08.02.2015, 17:44  [ТС] #8
Спасибо насчёт Qt и SQLite. Как раз для локальных приложений подойдёт. А то я долго думал, где локальные приложения хранят пользовательские данные (в принципе их можно хранить и в том же XML, но БД здесь как-то лучше смотрится).
А вот для инфраструктурных приложений с доступам в нет я бы всё же использовал собственное API, хоть на первый взгляд это более трудозатратно.
Кстати, а для C# есть какая-нибудь локальная база данных?
Сейчас может немного не по теме, но написал 2 идентичные консольные программы на C++ и C# и заметил, что первая весит больше второй (файл), а оперативки занимает в 2 раза меньше второй.
Поэтому для ресурсоёмких задач лучше писать на плюсах.
0
Казерская Ирина
95 / 31 / 6
Регистрация: 22.08.2014
Сообщений: 102
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 приложение win32 и написать даже самую простую фразу "Hello World!" на...

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

Создание консоли из приложения - C++
Необходимо создать консоль из приложения. Используем CreateConsole с параметром DETACHED_PROCESS. По идее должна распределяться консоль...

Создание оконного приложения - C++
Парни, в общем такой движ. Скорее нужен совет, нежели помощь. Нужно напрогать прогу. Смысл в следующем: 1. Оконное приложение. В...


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

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

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