Вверх ↑
Ответов: 278
Рейтинг: 4
#1: 2015-08-02 00:57:35 ЛС | профиль | цитата
Вопрос задан правильно, ответ правильный выдан не был.

Есть: внешний сервер MySQL (с бесплатным размером в 5 мб).
Требуется: независимые друг от друга подключения к этой самой внешней БД.

Внешний - это значит, что сервер принимает любой запрос от любого пользователя по порту 3306. Никаких TCP/FTP для данной задачи не требуется. Какая выделенная машина, если она уже предоставлена с удалённым доступом к MySQL?

Данную задумку сделать вполне реально и не сложно:
0. Выставляешь на сервере БД пользователя с правами на Query и Update (если мне не изменяет память) - Чтение и Запись, соответственно. Можно для начала выставить полный доступ, а опосля разобраться, какого доступа будет достаточно.
1. Берёшь любой пакет (предпочтительно - Delphi), где присутствует компонент MySQL. Заодно сразу же кидаешь либу (libMySQL.dll) в папку своей будущей программы, далее - Чат. Библиотека эта нужна для оснастки соединения с этой самой MySQL, удалённо.
2. Создаёшь на сервере мускула будущую структуру хранения данных, такую, какую хочешь. Например, для начала, логины и пароли пользователей и история сообщений. Желательно в MyISAM формате (для небольшого чатика как раз самое оно по скорости будет).
3. В Чате, непосредственно, организовываешь соединение с этой самой БД, считываешь данные логина, сравниваешь его с логином и паролем в Чате (с нижних точек EditBox'ов прямо можно). Продолжаешь работу с программой при их соответствии, при не соответствии лога с пассом - закрываешь, например. Желательно, конечно же, чтобы эти данные (лог и пасс) ещё и хешировались в MD5 и сравнивался не пасс с логом, а только хеш (для более мало-мальской безопасности).
4. При успешной авторизации предоставляешь доступ к EditBox'у, в котором уже печатаешь сообщение, которое летит на сервер через мускул и сохраняется в заранее тобою заготовленной таблице истории сообщений.
5. Отлаживаешь программу на ошибки, т.к. libMySQL не очень хорошо дружит с синхронными потоками, могут быть вылеты из программы. Придётся вникать в суть потоков и мьютексов, хотя это уже сделать будет не сложно, ибо присутвуют примеры в папке Examples.
P.S. После окончания отладки всей программы я бы посоветовал заняться отладкой и оптимизацией самой базы данных. Например, т.к. ограничение в 5 мб у данного Free-сервиса, придётся историю сообщений лимитировать. Но для небольшого, как было описано в требованиях, чата, этого места вполне может хватить.

2ребятам: зачем вы направляете человека рубить дрова, если он ясно, с удочкой в руках, сказал, что он хочет ловить рыбу? ICQ и Jabber - это, конечно же, очень хорошо, но когда человек чётко задаёт вопрос, нужно хотя-бы услышать и понять этот вопрос, а уже после на него отвечать.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:Jonson