Вверх ↑
Этот топик читают: Гость
Ответов: 58
Рейтинг: 1
#1: 2015-07-30 23:15:48 ЛС | профиль | цитата
Можно ли создать простенький чат с помощью сервера MySQL? Недавно нашел сервер,который поддерживает внешний доступ к MySQL(если нужно вот ссылка).Если можно пример
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#2: 2015-07-31 20:08:25 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 22:42:49
карма: 0

0
Ответов: 58
Рейтинг: 1
#3: 2015-07-31 22:17:20 ЛС | профиль | цитата
г. Mr. Braun, для TCP_Server нужна машина,то есть сервер.Или можно без машины?.Просто не получится создать сервер,где закрыты порты.
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2015-08-01 00:07:13 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 22:42:49
карма: 0

0
Разработчик
Ответов: 4698
Рейтинг: 426
#5: 2015-08-01 04:04:49 ЛС | профиль | цитата
Jonson, для MySQL тоже нужна машина, т.е. сервер. В любом случае вам его искать придется.
карма: 10
0
Гость
Ответов: 17029
Рейтинг: 0
#6: 2015-08-01 10:56:38 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 22:42:49
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2015-08-01 12:41:32 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 22:42:49
карма: 0

0
Ответов: 58
Рейтинг: 1
#8: 2015-08-01 16:27:49 ЛС | профиль | цитата
г. Mr. Braun, попробовал создать через FTP,но проблема,если один компьютер подключится к FTP,то уже другой не сможет подключиться.
------------ Дoбавленo в 16.25:
Есть ограничения на количество подключений.
------------ Дoбавленo в 16.27:
Я думал можно создать файл на сервере(например на ucoz) с помощью post запроса
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2015-08-01 19:55:03 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 22:42:49
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#10: 2015-08-01 20:06:09 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 22:42:50
карма: 0

0
Ответов: 58
Рейтинг: 1
#11: 2015-08-01 22:50:45 ЛС | профиль | цитата
г. Mr. Braun, Спасибо большое
карма: 0

0
Ответов: 278
Рейтинг: 4
#12: 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
Ответов: 58
Рейтинг: 1
#13: 2015-08-02 01:51:53 ЛС | профиль | цитата
Vanchila, Спасибо за подробную инструкцию,буду пытаться делать.А то я уже подумал что это невозможно
карма: 0

0
Ответов: 824
Рейтинг: 138
#14: 2015-08-02 02:29:36 ЛС | профиль | цитата
Jonson писал(а):
Можно ли создать простенький чат с помощью сервера MySQL?

Vanchila, "зачем вы направляете человека рубить дрова, если он ясно, с удочкой в руках, сказал, что он хочет ловить рыбу", скорее человек пытается ловить рыбу топором, а дрова заготавливает удочкой. Потому как имеет смутное представление, что ему нужно.
Простенький чат на MySQL? Подчеркиваю - "Простенький", на MySQL.
Для Jonson - ну это совсем просто... Чего тут такого, посто нужно ко всему прочему изучит язык запросов SQL и другое...
Конечно, это куда проще чем скачать клиент и зарегистрироваться на сервере Jabber, или ICQ, или QIP, или Я.Онлайн, или Google Talk...
Правильно - Jonson берите напильник в руки и делайте из трактора самокат.
Получится? Конечно получится, когда-нибудь.

карма: 1

0
Ответов: 58
Рейтинг: 1
#15: 2015-08-02 02:45:57 ЛС | профиль | цитата
sashaoli, но я не хотел присоединять к программе сторонние сервисы.Сначала я понял,что создать просто чат через MySQL невозможно,нужен обязательно сервер,потом мне объяснили что это все-таки возможно и не так уж сложно,это все что я хотел узнать.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)