|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.02.2012, 13:58 | #1 |
Регистрация: 01.06.2010
Сообщений: 6
|
Клиент + Сервер + MySQL
Доброго времени суток.
Собственно вопрос большой, требуется написать клиент-серверное приложение, сервер находится на 1 машине с базой MySQL, клиентов будет около 150. Структура такова, клиент должен авторизоваться на серверном приложении передать данные, а серверное приложение уже ложит в базу (режим авторизации очень важен), так же если на сайте отметили и данные попали в базу, сервер должен передать данные клиенту. (Не всем клиентам, а определённому по id). Каким образом можно это реализовать за минимальное время и получить стабильную работу. Собственно думал о таких вариантах: 1) Tclientsocket+TServerSocket + SQL. 2) использовать компоненты инди. Но не могу приложить ума, во-первых как будет надёжней, во-вторых как реализовать авторизацию, как передавать и оперировать табличными данными через сокеты между приложениями, на клиентах будет локальная база Access работать либо через MyDAC либо через ADOConnection конечная позиция БД MySQL. Помогите пожалуйста разобраться. З.Ы. То есть требуется 2 программы (сервер и клиент) у клиента локальная БД, а на серверном ПК уже глобальная БД, но данные должны обрабатываться серверным приложением. |
27.02.2012, 17:16 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Обязательно это реализовывать на Делфи? Не лучше ли будет сделать свой WEB портал, а ядро задвинуть на PHP или Perl?
I'm learning to live...
|
28.02.2012, 07:53 | #3 |
Регистрация: 01.06.2010
Сообщений: 6
|
В том и дело, что реализовать нужно именно на делфях.... причём серверная прога будет обрабатывать несколько видов приложений...
|
28.02.2012, 14:59 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Хм... Тогда пожалуй лучше индейцев. Tclientsocket+TServerSocket как-то уже вышли из моды. Насчет надежности - как ты код напишешь так и будет. Да еще - Индейцы смогут просто дать возможность работать с каждым запросом в отдельном потоке, чего не умеют TServerSocket.
Цитата:
I'm learning to live...
|
|
29.02.2012, 09:48 | #5 |
Регистрация: 01.06.2010
Сообщений: 6
|
В локальной базе хранится локальная информация, которая не требуется серверному приложению, а хранить её нужно, так же в этой базе будут лежать временные резервы, которые требуются для синхронизации.
Если нетрудно, не могли бы привести пример механизма работы между приложениями через индейцев... отправить сообщение или написать чат это ерунда.... нормальной инфы не нашёл в нэте. Интересуют примеры авторизации между клиентской и серв. прогой, после прохождения авторизации, программы смогут обменивать данными, а уже обработав чтобы сервер общался с базой.... вопросов по работе сервер база нету... Основной вопрос, повторюсь авторизация, и именно сам обмен как отправить данные сереверу на обработку, получаются табличные данные... напрямую в базу обратиться не проблема, но это дыра в безопасности... причём клиентское приложение за 1 раз должно передать несколько запросов (они идёт к разным таблицам в базе...) структура такая... и поменять мне её нельзя... если можно подробный пример с описанием пожалуйста, заранее благодарен.... |
29.02.2012, 12:28 | #6 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,426
|
s_vitaly, самый простой вариант авторизации:
На сервере хранится пароль ввиде md5 суммы. Клиент отправляет пароль на сервер, и сервер решает "быть или не быть". по поводу идентификации,сервер при успешной авторизации присвоит клиенту порядковый номер(отправив запрос кна клиент), и клиент, в последующем, в свои запросы вставлял свой номерр в текущей сессии с сервером(для того, чтобы серверу не приходилось гадать "кто это?"). Все делаете при помощи TidTCPServer и TidTCPClient. Первый, сам каждому соеденению дает порядковый номер и выносит подключение в поток. В идентификатора "порядковый номер" *геморно* использовать. На стороне клиента пускай сами создают себе номер из чего-нибудь(по железке очень не плохо будет) и высылают его вместе в кодом авторизации. |
29.02.2012, 12:43 | #7 | |
Регистрация: 01.06.2010
Сообщений: 6
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как отправить видео захват(с веб-Кам.) Клиент->Сервер->Клиент | RODNOC | Мультимедиа в Delphi | 17 | 03.10.2010 22:31 |
Клиент-сервер+MySQL InterBase проблемы в подключением 2 клиентов. | Vohakisa | Работа с сетью в Delphi | 0 | 21.05.2010 19:28 |
Возможно-ли Клиент-серверное приложение типа Клиент(Pascal) а сервер(CGI)? | Demol | Работа с сетью в Delphi | 1 | 21.04.2009 16:18 |
клиент-сервер MySQL | jziiiiiii | БД в Delphi | 10 | 15.02.2008 12:29 |