Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удаленный вызов. детали, реализация, архитектура, у темы новое название! 
:(
    Опции темы
mes
Дата 30.3.2011, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(baldina @  30.3.2011,  17:52 Найти цитируемый пост)
не согласен. если априори неизвестен тип, о чем вообще говорить?

не тип вообще, а конкретный тип.. в обычном представлении это оперирование базовым классом, а после приводение к конкретному потомку..
_проблема_ в том, чтоб из потока восстановить только этот самый базовый, а после восстановить конкретный..

Цитата(baldina @  30.3.2011,  17:52 Найти цитируемый пост)
представьте, что вам дали незнакомый аппарат. если вы знаете, что это аппарат для перемещения, то вам потребуется знать где у него старт, стоп, поворот.
если это аппарат неизвестного назначения, то перечисление всех элементов управления вам ничего не даст

 smile, но.. имелось ввиду другое.. никто не говорит про неизвестное..  но сейчас не суть.. 

Цитата(boostcoder @  30.3.2011,  18:41 Найти цитируемый пост)
удаленный, двунаправленный вызов функций/методов. по умолчанию асинхронный. опционально, синхронный. простой в использовании. для с++.

вот тут у нас и ошибка.. 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  20:26 Найти цитируемый пост)
вот тут у нас и ошибка..

какая?
PM WWW   Вверх
mes
Дата 30.3.2011, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(mes @  30.3.2011,  19:26 Найти цитируемый пост)
вот тут у нас и ошибка.. 

вышесказанного условия меньше, чем мало, чтоб реализовывать масштабируемый сервер.. 
то есть вышесказанное у нас уже есть.. но оно ничего толком не дает..

Добавлено через 1 минуту и 9 секунд
а ошибка в том, что не можем взглянуть шире и сфокусировали действия не на том..

Добавлено через 1 минуту и 36 секунд
точнее на том, но сильно узко сократили рамки задачи.. 

Это сообщение отредактировал(а) mes - 30.3.2011, 20:29


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



mes, я всего лишь реализовал то, что мне конкретно в данный момент нужно. ничто не мешает разрабатывать дальше.
но я не представляю пока как это все в вашем варианте будет работать в совокупности. т.е. узлы.
PM WWW   Вверх
mes
Дата 30.3.2011, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  19:34 Найти цитируемый пост)
но я не представляю пока как это все в вашем варианте будет работать в совокупности. т.е. узлы. 

понял про какие узлы Вы говорите.. для простой клиент серверной модели смотрите пример из соседней темы..
для более сложной, нужно определиться с моделью взаимодействия.. т.е. нарисовать какие узлы имеются и определить формат сообщения вызова..

т.е. если например сервер состоит из сервисов (а для масштабируемого так оно и должно быть) то нам нужно определить протокол общения с ними (устный, т.е. без кода)..

т.е. другими словами, надо определить какие виды узлов бывают и какие к ним предъвляются требования..

ну а прежде чем определять, хорошо бы набросать условную схему..

Цитата(mes @  30.3.2011,  19:42 Найти цитируемый пост)
 состоит из сервисов 

вот уже идет накладка для двухсторонего вызова, так как сторон в действительно больше, чем две и взаимодействуют не напрямую, а через _среднюю_ точку (сервер).. 

Это сообщение отредактировал(а) mes - 30.3.2011, 20:49


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  20:42 Найти цитируемый пост)
понял про какие узлы Вы говорите..

раз уж это dataflow, то необходимо взаимодействие между узлами. и, я так представляю, что узлы могут быть разные, и использовать разные интерфейсы. но сеть одна. так?

Цитата(mes @  30.3.2011,  20:42 Найти цитируемый пост)
т.е. если например сервер состоит из сервисов (а для масштабируемого так оно и должно быть) то нам нужно определить протокол общения с ними (устный, т.е. без кода)..

поясните. не очень понимаю...

Цитата(mes @  30.3.2011,  20:42 Найти цитируемый пост)
т.е. другими словами, надо определить какие виды узлов бывают и какие к ним предъвляются требования..

эм... тоже не понял..

Цитата(mes @  30.3.2011,  20:42 Найти цитируемый пост)
ну а прежде чем определять, хорошо бы набросать условную схему..

я бы с удовольствием нарисовал бы, если понимал что именно )

зы
онлайн диаграммы очень удобно рисовать тут: http://www.mind42.com/
при том, одновременно могут изменять диаграмму несколько человек, и всем остальным рассылается сообщением об изменении smile 
PM WWW   Вверх
mes
Дата 30.3.2011, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  20:03 Найти цитируемый пост)
раз уж это dataflow, то необходимо взаимодействие между узлами. и, я так представляю, что узлы могут быть разные, и использовать разные интерфейсы. но сеть одна. так?

вроде да.. 

Цитата(boostcoder @  30.3.2011,  20:03 Найти цитируемый пост)
я бы с удовольствием нарисовал бы, если понимал что именно )

какие основные узлы планируются и как будет распределены между ними ответственность.. 
т.е. можно допустить что все узлы находятся в одном приложении и описать классы (открытый интерфейс) необходимые для реализации этих узлов.. 



--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  21:13 Найти цитируемый пост)
вроде да.. 

начало положено...

Цитата(mes @  30.3.2011,  21:13 Найти цитируемый пост)
какие основные узлы планируются и как будет распределены между ними ответственность.. 
т.е. можно допустить что все узлы находятся в одном приложении и описать классы (открытый интерфейс) необходимые для реализации этих узлов.. 

я думаю нужно начать с того, что решить каким образом узлы будут узнавать о существовании других узлов. и каким образом будет определяться, какие узлы с какими общаются...
PM WWW   Вверх
mes
Дата 30.3.2011, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  20:19 Найти цитируемый пост)
я думаю нужно начать с того, что решить каким образом узлы будут узнавать о существовании других узлов. и каким образом будет определяться, какие узлы с какими общаются.

первоначально все таки думаю, надо просто допустить какие могут быть узлы... т.е. определить _глубину_ связей..
для чата например действительно достаточно только клиент-серверного взаимодействия.. но если нужно хоть чуточку больше, проще разбить на сервисы.. 
итак для начала предлагаю такую схему
Код

    s - S - c
    s -´|`- c
    s - S - c
    s -´|`- c
       ...      

S - server
s - service
c - client

Это сообщение отредактировал(а) mes - 30.3.2011, 21:54


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  21:53 Найти цитируемый пост)
S - server
s - service
c - client

что выполняет, и какие обязанности у каждого?
PM WWW   Вверх
mes
Дата 30.3.2011, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



S - Сервер  - это координатор, содержит список подключенных узлов и отвечает им на базовые запросы.. 
s - сервис - подключается к серверу и реализует некоторую функциональность.. 
c -  клиент - подключается к серверу и пользуется некоторой из функциональности предоставляемой сервером с сервисом.. 

схема и описание сильно условное.. и предоставлено лишь для того, чтоб было с чего начать.. 

clients:
 user 
 chat_bot 
 game_ai 

services: 
 talk_svc
 mail_svc
 game_svc

Это сообщение отредактировал(а) mes - 30.3.2011, 22:20


--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



узлы, "знают" только о том, кто такой сервер. помимо этого, узлы, проинформированы о том, какой сервис им нужен. подключившись к серверу, узел, запрашивает сервис. из сервиса, узел узнает о других узлах, принимающих участие в той же задаче.

мысли закончились...

Это сообщение отредактировал(а) boostcoder - 30.3.2011, 22:43
PM WWW   Вверх
boostcoder
Дата 30.3.2011, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



сервисы предоставляет только сервер?
тогда получается, что в любом случае, в подобной сети должен быть сервер?

Добавлено @ 22:47
узел не может создать/добавить серверу сервис? а нужно ли?
возможно ли такое, чтоб узлы использовали сервер только для получение информации о задачах/узлах?..поидее возможно. т.е. сервер - просто координатор принимающий участие при квитировании узлов.

Добавлено @ 22:49
Цитата(boostcoder @  30.3.2011,  22:29 Найти цитируемый пост)
из сервиса, узел узнает о других узлах, принимающих участие в той же задаче.

перефразирую: из сервиса, узел узнает о других узлах, принимающих участие в нужной узлу задаче.

Добавлено @ 22:53
т.е. получается так, что узлы соответствуют единому интерфейсу. при описании узла, мы, наращиваем его интерфейс, и сопровождаем его информацией о том, для чего ему этот интерфейс. таким образом, узлы смогут группироваться.

пока все верно?

зы
mes, может создать отдельную тему, только по теоритической части вопроса? хотелось бы чтоб максимум форумчан оставили мнение о тех или иных деталях, не касаясь ЯП.

Это сообщение отредактировал(а) boostcoder - 30.3.2011, 22:54
PM WWW   Вверх
mes
Дата 30.3.2011, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(boostcoder @  30.3.2011,  21:29 Найти цитируемый пост)
узлы, "знают" только о том, кто такой сервер. помимо этого, узлы, проинформированы о том, какой сервис им нужен. 

 smile , но физически один сервис-приложение например может предоставлять несколько сервисов-интерфейсов..

Цитата(boostcoder @  30.3.2011,  21:29 Найти цитируемый пост)
 подключившись к серверу, узел, запрашивает сервис. из сервиса, узел узнает о других узлах, принимающих участие в той же задаче.

об других узлах (именно как об узлах) может/должен узнавать только при иерархической структуре.. В вышеприведенном примере глубина единичная.. то есть к сервису сервисы не подключается.. хотя может должны были бы.. 

Цитата(boostcoder @  30.3.2011,  21:44 Найти цитируемый пост)
сервисы предоставляет только сервер?

в примере да, а как в вашей задаче нужно не знаю smile

Цитата(boostcoder @  30.3.2011,  21:44 Найти цитируемый пост)
тогда получается, что в любом случае, в подобной сети должен быть сервер? 

да это сервер ориентированная модель.. но в распределенной системе сервер как таковой может не быть... 




--------------------
PM MAIL WWW   Вверх
boostcoder
Дата 30.3.2011, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(mes @  30.3.2011,  22:54 Найти цитируемый пост)
но физически один сервис-приложение например может предоставлять несколько сервисов-интерфейсов..

да. нет смысла плодить серверы. это и исключает расхождение в деталях сервисов, их наборе, и т.д..

Цитата(mes @  30.3.2011,  22:54 Найти цитируемый пост)
об других узлах (именно как об узлах) может/должен узнавать только при иерархической структуре.. В вышеприведенном примере глубина единичная.. то есть к сервису сервисы не подключается.. хотя может должны были бы.. 

Вы случаем сервер и сервис нигде не спутали?

Цитата(mes @  30.3.2011,  22:54 Найти цитируемый пост)
в примере да, а как в вашей задаче нужно не знаю

моя задача в данный момент вообще не интересна. обсуждаем идеальную модель.

Цитата(mes @  30.3.2011,  22:54 Найти цитируемый пост)
да это сервер ориентированная модель.. но в распределенной системе сервер как таковой может не быть... 

а кто будет разруливать узлы в нужные русла?
PM WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1097 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.