Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DataSnap несколько клиентов / 18 сообщений из 18, страница 1 из 1
25.12.2020, 10:14
    #40031047
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
Клиент:
DataSource+ClienDataSet+DSProviderConnection1+SQLConnection1 ->

DataSetProvider+FDQuery+FDConnection1+Firebird
:Сервер

если работает один клиент - всё норм
но если подключить ещё одного клиента и запустить процесс обработки одной и той же записи одновременно, т.е. одновременное использование одного и того же FDQuery на стороне Сервера, то постоянно какие-то глюки.

извините за тупость, но
неужели в DataSnap нужно лепить какие нибудь потоки для изоляции запросов? Разве нельзя работать одновременно нескольким клиентам с одним экземпляром сервера?

Буду рад любой информации от знающих.
...
Рейтинг: 0 / 0
25.12.2020, 10:29
    #40031050
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
SergeyKNP,

А как вы себе представляете работу нескольких клиентов с одним НД?
...
Рейтинг: 0 / 0
25.12.2020, 11:25
    #40031066
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
оба клиента получают результаты своего запроса (вероятность того, что это произойдёт в один и тот же момент времени мала)
оба клиента видят одинаковые данные...сохранится информация последнего изменившего строку, но суть не в этом...

даже при простом обращении с строке используя один и тот же FDQuery - глюки


в обычном приложении, без DataSnap, работают же несколько пользователей и никто друг другу не мешает, хотя все используют одно и тоже приложение, а значит о FDQuery.
...
Рейтинг: 0 / 0
25.12.2020, 12:13
    #40031073
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
О сколько нам открытий чудных (с)
DataSnap многопоточный. Копать в эту сторону.
...
Рейтинг: 0 / 0
25.12.2020, 12:17
    #40031075
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
на стороне сервера надо сколько реквестов - столько экземпляров компонентов.
Для каждого подключения свой набор DataSetProvider+FDQuery+FDConnection1
...
Рейтинг: 0 / 0
25.12.2020, 12:48
    #40031088
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
т.е. сколько клиентов, столько и потоков самому делать? А проще никак? Ведь "Пушкин" выше упоминал на многопоточность DataSnap. :(
...
Рейтинг: 0 / 0
25.12.2020, 13:06
    #40031093
X-Cite
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
Datasnap сам для каждого реквеста выделяет отдельный поток.
Экземпляры компонентов должны быть разные.
...
Рейтинг: 0 / 0
25.12.2020, 13:21
    #40031099
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
X-Cite,
а можно по-подробнее?
я правильно понял, что DataModule со всеми компонентами на нём нужно каждый раз создавать (Create) и потом дестроить?

если можно кусочек кода
...
Рейтинг: 0 / 0
25.12.2020, 15:03
    #40031123
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
DataSnap не нужен
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2020, 15:20
    #40031128
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
Мимопроходящий,
не в обиду...очень информативное сообщение
...
Рейтинг: 0 / 0
25.12.2020, 15:22
    #40031131
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
25.12.2020 15:20, SergeyKNP пишет:
> очень информативное сообщение

а вот нахрена оно в твоей задаче, можешь пояснить?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2020, 15:40
    #40031139
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
Мимопроходящий,

да какая разница...стечение обстоятельств...проект чужой...заказчик требует...и т.д.
...
Рейтинг: 0 / 0
25.12.2020, 15:42
    #40031142
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
25.12.2020 15:40, SergeyKNP пишет:
> да какая разница...стечение обстоятельств...проект чужой...заказчик требует...и т.д.

гы!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25.12.2020, 20:15
    #40031238
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
и почему-то во всяких учебных примерах не пишут, что нужно делать экземпляры для каждого клиента на сервере:
http://www.interface.ru/home.asp?artId=26212
https://www.delphiplus.org/delphi-i-tekhnologiya-com/vvedenie-v-tehnologiu-datasnap.html
...
Рейтинг: 0 / 0
25.12.2020, 20:49
    #40031244
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
SergeyKNP
заказчик требует

Врёшь.
...
Рейтинг: 0 / 0
25.12.2020, 21:33
    #40031254
Сергей Фролов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
SergeyKNP
если можно кусочек кода

У Арефьева, насколько мне позволяет мой склероз, есть потокобезопазный пул коннектов. Этого должно хватить.
...
Рейтинг: 0 / 0
25.12.2020, 23:41
    #40031290
SergeyKNP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
Сергей Фролов,
а ссылку можно?
...
Рейтинг: 0 / 0
25.12.2020, 23:56
    #40031294
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DataSnap несколько клиентов
SergeyKNP
Сергей Фролов,
а ссылку можно?

Это он про FireDAC...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / DataSnap несколько клиентов / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]