![]() |
Модераторы: Daevaorn Страницы: (89) « Первая ... 11 12 [13] 14 15 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
эврика!
http://liveworkspace.org/code/661062d84fc5...cbe28b7e5403890 сейчас еще пересмотрю код. кодировщик/декодировщик заголовка пакета нужно куда-то всунуть. Добавлено @ 22:02 гляньте пожалуйста, может еще что-то найдете ;) Добавлено через 9 минут и 28 секунд навел порядок: http://liveworkspace.org/code/e1be046e609b...44396051e4c81b6 Добавлено через 12 минут и 32 секунды теперь, как я предполагал, rpc_packet::id это идентификатор класса с его обработчиком? Это сообщение отредактировал(а) boostcoder - 28.10.2010, 22:02 |
|||
|
||||
mes |
|
||||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
а для чего пакету хидер как буффер ?! сделайте лучше возможность сериализации пакета.. Добавлено через 3 минуты и 14 секунд а paket::body нам тоже не нужен статического размера.. и можно заменить на строку/вектор.. Добавлено через 12 минут и 35 секунд
Это сообщение отредактировал(а) mes - 28.10.2010, 22:41 |
||||||
|
|||||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
как это подправите, можно считать полученное отправной точкой..
|
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ок. сейчас..
|
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
это уровень сети... здесь нам не нужно.. Добавлено @ 23:00 вобщем нужно примерно так :
все остальное (из constants) в мусорку ![]() Это сообщение отредактировал(а) mes - 28.10.2010, 23:01 |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
не дождался , сам подправил :
http://liveworkspace.org/code/aa539e62ca1c...0017fe1a180288b ![]() Добавлено @ 23:46 пусть будет здесь, для надежности..
Это сообщение отредактировал(а) mes - 28.10.2010, 23:46 |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
теперь осталось сделать контроль пропуска сообщений, чтоб нельзя было отправить чужое сообщение, но уже сейчас можно запихнуть полученое в rpc_parts.h и на этой основе строить клиента..
Это сообщение отредактировал(а) mes - 29.10.2010, 00:25 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
если я ничего не напутал, то здесь ошибочка.
в rpc_pack вы не пакуете идентификатор. но при распаковке пакета, нам не известен его идентификатор, и в функции rpc_unpack вы его не распаковываете. или я опять что-то напутал? |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вот что у меня получилось:
http://liveworkspace.org/code/487c740c8d68...d30f827a3ef6efc Это сообщение отредактировал(а) boostcoder - 29.10.2010, 03:11 |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
насколько я понимаю, указатели на классы обработчики должны находится в карте клиента и сервера.
но создавать их в конструкторе клиента и сервера - нехорошо.. во первых - жестко завязано. во вторых - это может мешать архитектуре клиента и сервера. мне кажется логичным, создавать классы-обработчики по запросу, как я уже писал. с утра уже.. |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
вот: http://liveworkspace.org/code/e86552b94c95...464261d3bd7d8cf
с обработчиками в виде классов. вот только в данный момент нет возможности из обработчика сделать вызов... Добавлено через 2 минуты и 17 секунд нужно утвердить код, и вынести его в отдельный хидер, а то уже прокручивать палец болит) |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
21я строчка в моем последнем наброске ![]() а в unpack нам не нужен идентификатор, у нас там уже известен тип ![]() Это сообщение отредактировал(а) mes - 29.10.2010, 08:57 |
|||
|
||||
mes |
|
||||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
и все остальное относящееся к этому зачем ?! откуда такие предположения, что при отправки по сети подойдет этот формат.. зачем вобще привязываться к нему.. заче не типозависимые данные паковать в строку ?! и много много еще камней, которым Вы так и пытаетесь забросать ручей логики кода.. ![]() Добавлено @ 09:04
вот опять опережаете.. у Вас не сформирован скелет проги, а Вы уже тяжести поднимать заставляете ![]() Добавлено @ 09:07
bad_ID будет при проверке среди возможных ид_пакетов.. А так это всего лишь не зарегистрированный handler ![]() Добавлено @ 09:11 ну и толку от такой конструкции ? так и в первый ресивер можно было вместо лямбды пробиндить метод с объектом.. Добавлено @ 09:14 утвержденый код (точнее его база) в сообщении предшествующее этому : ![]() Это сообщение отредактировал(а) mes - 29.10.2010, 09:21 |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
![]() ![]() ![]() ![]() Вы, как клиент, за сервер решили, каким образом ему обрабатывать свои сообщения ?! ![]() |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
хорошо.
какая часть того кода остается неизменной, чтоб ее вынести в отдельный файл? |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |