![]() |
|
Модераторы: Daevaorn Страницы: (89) « Первая ... 31 32 [33] 34 35 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
понял о чем Вы Вы предполагаете что обработчик стоит на сервере, а у клиента есть проксиоболочка для вызовов нужных методов.. а я говорю о тех обработчиках, которые принимают удаленные вызовы, и обрабатывают их.. а возможность посылки удаленного вызова и так есть.. т.е. создание этой прокси оболочки бессмысленно, а обработчики стоят как на клиенте так и сервере.. давайте напишем тестовый примеры клиент : условное окно, у которого два фрейма, в одном проходит авторизация , а в другом игра (по паре условных функций) сервер : сервисы для авторизации и игры соответственно.. тогда будет видно, что нужно создавать и как подключать.. Это сообщение отредактировал(а) mes - 5.11.2010, 15:18 |
|||
|
||||
| boostcoder |
|
||||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
да.
а что с теми обработчиками? эта часть реализована и работает(псевдо). т.е. обработчик - это некоторый класс с методами.
это вносит ясность. получая некоторый интерфейс клиента/сервера, интуитивно понятно с чем работаешь. напишу псевдокод. |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Вы забываете о некоторых деталях : не все вызовы могут/должны быть удаленными (у одного класса), не все команды пользователя "ложатся " ровно на протокол.. вот условный пример
Это сообщение отредактировал(а) mes - 5.11.2010, 15:47 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
когда я для метагенератора декларирую класс, он сгенерит интерфейс который в основном используется для противоположной стороны, и класс с виртуальными методами, унаследовавшись от которого нужно перегузить. и если в наследнике юзер вписывает какие-то свои методы, то они не видны из интерфейса противоположной стороне. все логично. не понял.. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
boostcoder, если смотреть с точки зрения клиента, то
для консольной проги : нужен только конвертор строки в нужный тип и обратно.. т.е. об обработчиках как о таковых речь не идет для гуи-проги: команды поставляемые юзером, не будут соостветсвовать протоколу.. так как у них разные задачи.. т.е интерфейс работы пользователя с клиентом , не сответсвует интерфейсу клиента с сервисом.. т.е как в примере команда логин на самом деле несколько комманд для нет_клиента.. в общем как тестовый пример напишите, сами увидите.. Добавлено через 3 минуты и 10 секунд
когда будете составлять тестовый пример, эту деталь упустите.. важно только конечные представления.. Это сообщение отредактировал(а) mes - 5.11.2010, 16:02 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
так. чтоб усвоить, запишу мысли. говорят помогает
к примеру у нас есть такая декларация:
из этого нужно сгенерить два класса: 1. i_test - класс, методы которого нужно реализовать. у него должен быть конструктор принимающий ссылку на distributor для того, чтоб реализовать авторегистрацию методов. 2. test - класс интерфейс, используемый для вызова реальных методов класса обработчика. каждый метод этого класса так же генерируемый. методы имеют сигнатуру, полностью идентичную той, что в декларирована для генератора. метод выполняет инициализацию структуры используемой для передачи аргументов, ее сериализацию, и отправку в сеть. 3. классы client и server должны быть шаблонными, и принимать аргументом шаблона - список типов. это нужно для реализации автоматического создания классов обработчиков. 4. классы client и server должны иметь метод "get<>()" возвращающий интерфейс указанного класса. сейчас хочу полностью завершить реализацию этого. после, реализовать создание обработчиков по запросу, и синхронные вызовы. вот Это сообщение отредактировал(а) boostcoder - 5.11.2010, 21:58 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
на крайний случай будет хоть что выкидывать из проекта |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
Вы скажите, я правильно вижу всю задачу? не считая расхождений в реализации. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, добрый день.
хочу выложить первую пре-альфа версию на гуглкод ну и первый вопрос: как проект назвать? чтоб потом не пересоздавать проект заново. банальное "RPC ..." как-то не то... есть предложения? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну да, слово "процедура" будет не к месту .. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
и? какие варианты? вот думаю как вариант - "distributed calls". но нужно как-то сократить.. Добавлено через 2 минуты и 17 секунд может "distributed invocations"(distrinvoc) ? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
думаю.. имхо "call" тоже не отражает сути.. а является лишь составляющей.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
мой скудный словарный запас англяза исчерпан) |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
не знаю, в какую сторону развился за это время.. но как я представляю, имхо, тут что-то производное
от "какое-то взаимодействие/общение объектов".. ну так для начала можно на русском, а потом подобрать подходящее на англ.. (я обычно таким путем иду) у меня к сожалению запас энтого тоже скуден... Это сообщение отредактировал(а) mes - 14.11.2010, 18:00 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |