Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Ну не пойму я никак, как сделать разрешение/запрет на соединение!   Найти похожие ветки 

 
Aleksandr ©   (2003-04-11 18:22) [0]

Я только-только осваиваю MIDAS. Нужно мне, чтобы сервер допускал к связи только три компьютера с момента запуска. Соответственно, у него должен храниться список имен подключавшихся компьютеров, а клиент SocketConnection при коннекте должен передать имя компа и получить доступ/отказ к продолжению работы (первые три имени сервер должен куда-то себе занести, а при следующих коннектах допускать только те, которые внесены). Что тут нужно делать? Пытался через проперти формы сервера, так он вообще вешается при попытке что-либо туда передать на OnRemoteDataModuleCreate... В Инете поискал литературу - там либо самые азы ("положите компонент на форму"), либо не о том...


 
Набережных С.   (2003-04-13 09:35) [1]

IMHO самое простое: При подключении клиент получает объект с одним методом, который в ответ на корректное имя возвращает клиенту полнофункциональный объект, объявленный с ciInternal. Такой "идентифицирующий" объект может быть один для всех клиентов, однако боюсь, что для "только-только осваивающего MIDAS" даже это будет сложновато. Читай все, что найдешь, про COM и про потоковые модели. И учти, что все более-менее путное по этим вопросам ориентировано на Си.


 
Aleksandr ©   (2003-04-14 13:38) [2]

Вы знаете, даже на Си не могу найти :(.


 
Aleksandr ©   (2003-04-14 14:15) [3]

Скажите, насколько корректен и чем чреват такой подход:
я в том же модуле, где и RemoteDataModule, создал объект с единственным свойством - строкой, и критическую секцию, защищающую все обращения к этой строке. В разделе инициализации они создаются, в финализации уничтожаются. На OnLogin клиента я сделал функцию в Types Library, которая (для начала) заносит в упомянутый объект имя компьютера коннектящегося клиента либо ищет его в нем либо при количестве ";" выше двух отказывает в доступе. Правильно ли все это?


 
Набережных С.   (2003-04-14 18:29) [4]

>Aleksandr ©   (14.04.03 14:15)
Боюсь, что не правильно. Рассмотри такую ситуацию: клиента для твоего сервера пишет кто-то другой и просто проигнорирует существование твоего спецобъекта и сразу начнет работать с RemoteDataModule? Или я не так понял?
 Решение о предоставлении услуг должен принимать только сервер, используя собственные механизмы или опираясь на систему безопасности ОС. Клиент не должен иметь возможности на это влиять. А с точки зрения взаимодействия потоков ты поступил правильно, насколько можно судить не видя кода:) Загляни на RSDN, там есть несколько статей на тему COM, потоковых моделей и защиты.



Страницы: 1 вся ветка

Форум: "Corba";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.036 c
1-1097052892
Lord de Mon
2004-10-06 12:54
2004.10.17
Массив EDITов


3-1095651463
korvin
2004-09-20 07:37
2004.10.17
Поиск без учёта регистра


14-1096548475
Guest
2004-09-30 16:47
2004.10.17
Срочно нужен совет


3-1095667938
Крутыш
2004-09-20 12:12
2004.10.17
Удаление в базе interbase


3-1095410645
Koala
2004-09-17 12:44
2004.10.17
Вопрос по ХП





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский