![]() |
|
Модераторы: Daevaorn Страницы: (89) « Первая ... 38 39 [40] 41 42 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| mes |
|
||||||||||||||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вот заготовка примера клиент-сервер и теста для двух клиентов..
для полноты осталось реализовать методы sercer_side::session (мне уже лень... http://liveworkspace.org/code/dd7b29ae22f2...eeecc13ccd2146a Добавлено @ 15:27 ну и для наглядности выложу тут : connection :
сообщения протокола
определение ид для сообщений протокола
обработчики сервера
прокси для server_side::user
клиент:
прокси для клиента:
тест:
вывод теста:
обратите внимание на исполнение прокси серверной и клиентской частей.. в одном случае идет прямое отажение имени и требует от реализации перегруженных функций.. в другом каждое сообщение имеет имя функции обработчика.. есть еще третий вариант совмещение этих подходов.. Это сообщение отредактировал(а) mes - 24.11.2010, 15:32 |
||||||||||||||||||
|
|||||||||||||||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
если вариант устраивает, то могу дать задания, как это улучшить
|
|||
|
||||
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Вы пока разбираетесь, я начну перечислять недостатки и возможные способы решения...
для начала у нас есть зависимость connection от
Добавлено @ 18:12 так как сообщения у нас делятся по группам создадим их прообразы :
и на их основе будем определять сообщения..
естественно в connection внести соответствующие изменения.. Это сообщение отредактировал(а) mes - 24.11.2010, 18:13 |
||||||
|
|||||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
с агентами что то в этом стиле :
Это сообщение отредактировал(а) mes - 24.11.2010, 19:06 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, позвольте вопрос
сейчас, типы proxy должны знать о том, что проксируют. но я предполагаю их генерировать, а не писать руками. по этому, возникает проблема: http://liveworkspace.org/code/063ad5f98dc7...8aa0ce7e3b59e8a это можно как-то решить? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
второй шаг : добавить сериализацию пакетов и изменить передачу (void const*) на discoly::packet const&
третий : connection сделать абстрактным, и на нем образовать tcp_connection (через асио) для начала оставьте предположения, и давайте доведем код удобовариваемого вида.. а там уже в конце будет видно, что кодогенерить, а что не надо.. потому как фактически устоявшегося еще пока ничего нет.. по задумке прокси "составляется" после описания интерфейса объекта.. решить можно, сделав структуру прокси шаблоной.. в первых примерах (где то две страницы назад) уже такое было.. вот: meta_invoker из http://liveworkspace.org/code/d867c7fd3a7a...d2b7a1e2b325512 Добавлено через 11 минут и 12 секунд но, еще раз повторю:
Это сообщение отредактировал(а) mes - 24.11.2010, 18:44 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
и еще нужно namespace msg пока переименовать в net..
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mes, а что если я Вас добавлю в список коммитеров?
сможете сами вносить изменения. Добавлено через 1 минуту и 7 секунд я это не от того что мне лень, или я Вас поэксплуатировать хочу. просто у меня основные времязатраты - это понимание того что Вы пишите |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
давайте попробуем |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
сделал.
Это сообщение отредактировал(а) boostcoder - 24.11.2010, 20:12 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
проверяйте.
Это сообщение отредактировал(а) boostcoder - 24.11.2010, 20:18 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
адаптировать под что ? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |