![]() |
Модераторы: Daevaorn Страницы: (89) « Первая ... 74 75 [76] 77 78 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
не могу взять с репозитория исходники
и почему сразу хаки? ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
а почему "хаки" сразу плохо ? я ж не сказал грязные хаки ![]() хак это всего лишь некий прием, требующий особых знаний.. ![]() |
|||
|
||||
boostcoder |
|
||||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
на данный момент там пусто. терпение. mes, разрываюсь в сомнениях. ситуация следующая: сервер. при подключения юзера, какие он(юзер) айпишки может дергать? - никакие. потому что их нет. значит, сервер должен создавать реализации при подключении и регистрировать их. так? пример:
в этом примере, type1, type2, type3 - реализации. создать объекты перечисленных типов - не проблема. проблема - зарегистрировать их, и их методы. как регистрировать объекты/методы? вариант первый: каждая реализация должна иметь навязанный конструктор. в конструктор, должна передаваться ссылка на дистрибьютор. и в конструкторе должна и происходить регистрация. пример:
вариант второй: параметром сервера, передавать не mpl::vector<>, а mpl::map<>. где, ключ - тип реализации, а значение - mpl::vector<> пар [&type::m1, "m1"][&type1::m2, "m2"]. пример:
плюсы и минусы: в первом примере - не понятно каким образом тот код, который будет создавать реализации, сможет передать в конструктор реализации то, что нам нужно. допустим, указатель на другую реализацию. во втором - все минусы. ни одного плюса не вижу. какие мысли? Добавлено через 13 минут и 27 секунд третий вариант: серверу назначать хендлер, который будет вызываться при коннекте, и в котором и будет происходить создание реализаций, и регистрация. пример:
гм.. ну вызовется этот хендлер. ну создадутся реализации...зарегаются. а дальше что? вышли из блока и все умерло ![]() Это сообщение отредактировал(а) boostcoder - 23.2.2011, 22:47 |
||||||||
|
|||||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
сервер создает контролер сокета, которому передает ссылку на расшаренный контекст..
регистрировать кого и где ? реализации чего? если дистрибьютер общий на несколько классов, то да надо либо передавать его по ссылке, либо создать connect-метод для подключения.. Добавлено через 4 минуты и 58 секунд чем у Вас идеологически является вызов ? функцией ? событием класса ? событием ? Добавлено через 7 минут и 7 секунд какое отношение соедеинения к дистрибьютрам ? если объект получает сигналы от дистрибьютера, куда он посылает ответ ? |
|||
|
||||
boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
поясните ;) методы реализаций(API) это тоже вопрос. реализации предоставляемых юзеру API
да, дистрибьютор общий для всего контекста пользователя. вообще, есть идея использовать один дистрибьютор для всех клиентов, т.к. набор реализаций(API) предоставляемых юзеру, идентичен для всех контекстов. но это пока не важно. Это сообщение отредактировал(а) boostcoder - 23.2.2011, 23:56 |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
что есть идеологически "предоставляемые юзеру API" и какое отношение они имееют к дисколи ? Добавлено через 3 минуты и 12 секунд
ок, значит дистрибьютер это синглетон, хранящий отношения имен к объектам.. но где соотношение соединения к контексту? Добавлено через 4 минуты и 10 секунд т.е. переслать сигнал внутри контекста от одного класса к другому уже нельзя будет? Это сообщение отредактировал(а) mes - 23.2.2011, 23:58 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что конкретно имеется ввиду? у каждого подключившегося юзера есть контекст. у контекста набор реализаций, методы которых может вызывать юзер(пусть API). ну и дистрибьютор, который разруливает вызовы от клиента к реальным методам.
не понял вопроса. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
сам сервер кроме акцептации, больше ничего не делает на каждый акцептируемый сокет, создается контролер (user_context?), который уже слушает сокет и реагирует на него.. чтоб контроллеры могли взаимодействовать между собой, должен быть центральный объект/база даных (session_context?), который определяет некий мирок для user_context`ов.. |
|||
|
||||
boostcoder |
|
||||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
под "предоставляемые юзеру API" - имеется ввиду те методы который может вызвать клиент у сервера, и на оборот. тоже не понял...
можно. но помимо имени класса и метода, нужно будет указать и контекст. но сейчас речь не об этом. это просто мысль на будущее. Добавлено через 1 минуту и 51 секунду
да.
да. но сейчас вопрос не в этом. забудьте пока об этом. |
||||||||
|
|||||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
грубо: функция - одному имени соответсвует только один обрабоотчик.. событие - одному имени соответствует вектор обработчиков.. событие класса - одному имени соответствует иерархия векторов обработчиков.. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
хорошо, давайте вообще забудем про сервер.. он нам вообще не нужен.. есть два удаленных объекта, нам надо наладить между ними взаимодействие ? так ? Добавлено через 2 минуты и 21 секунду
я, так понимаю, Вы решили ограничить дисколи только лицевым общением между клиент-сервером ? |
||||
|
|||||
boostcoder |
|
||||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
четвертый вариант:
большая куча. т.е. сервер создает только один объект указанный параметром шаблона.
сервер, клиенту предоставляет методы "type1.m1", "type1.m2", "type2.m1", "type2.m2" но тут тоже проблема: в конструктор, к примеру, type1(в type2 не надо) нужно передать объект для работы с БД, а у нас конструктор implementation навязан. как быть? Добавлено @ 00:30
Вы меня окончательно запутали ![]()
нет. так я не решал. сейчас, я хочу понять, каким образом у второго клиента по запросу первого, будут создаваться и регистрироваться реализации. зы нужно написать легенду терминов ![]() Добавлено @ 00:33
по идее, тут нужен какой-то паттерн строитель. или гибрид. но не могу понять какой. Добавлено @ 00:35 вроде это самый простой способ. а дополнительные аргументы/объекты получать из синглтона? Это сообщение отредактировал(а) boostcoder - 24.2.2011, 00:45 |
||||||||
|
|||||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
прежде всего надо понять идеологию, которую Вы хотите записать... дальше все будет проще.. ![]() Добавлено @ 00:40 для начала надо определить, что именно из себя представляет идеология "реализация".. т.е. хотелось бы увидеть мир и кто в нем живет, не вникая в реализацию.. Добавлено @ 00:43 бррр.. и о каких дополнительных параметрах идет речь ?! и вообще что это за привычка связывать руки ? может оставить все таки создание на откуп пользователя ? кому как не ему лучше знать что делать.. Добавлено через 6 минут и 57 секунд ну так я наоборот пытаюсь свести задачу к простому.. Это сообщение отредактировал(а) mes - 24.2.2011, 00:45 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |