Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Netty
#11
linliss Написал:оно и видно, для того, чтобы заюзать 1 класс, они тянут всю библиотеку, заместь того чтоб использовать стандартные классы и потом получается проект с 100500-ю библиотеками зависящий от нихSad
Скажите спасибо, что не пишут свои велосипеды фреймворки на разрабатываемые проекты. В целях самобучения написать велосипед конечно хорошо, но...

ANZO Написал:Чем Вам дефолтный NIO то не угодил?
Соотношение по времени разработки, не так ли? Если бы у людей была приблизительно бесконечность времени на каждый продукт, то все бы писали свои фреймворки.


Java-man Написал:Интересно, кто-нибудь делал бенчмарки netty vs java nio2 ? Что-то мне подсказывает, что перевес будет не в сторону сана оракла.
Как раз перевес в сторону сана сейчас, ибо они изменили нативную алгоритмику сетевой работы второго нио, ну и плюсом внутренняя организация работы в ртшке, достаточно теперь посмотреть, как храниться настройки Smile
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#12
ASevenfold Написал:Соотношение по времени разработки, не так ли? Если бы у людей была приблизительно бесконечность времени на каждый продукт, то все бы писали свои фреймворки.

Именно. Нужно соизмерять временные затраты и необходимость низкоуровневой реализации. Плюс ко второму нужно добавить довольно высокий скилл разработки, ибо зачастую получается менее оптимальный код. И сразу вспоминается холивар на тему Hibernate vs. plain SQL Smile
Ответ
#13
Оффтоп
Ответ
#14
Возник вопрос по данной библиотеке. Если от клиента приходит "склеенный" пакет (несколько пакетов в одном фрейме), то нужно самому их разделять или netty сам это делает (что то читал про ReplayingDecoder, но не до конца понял)
Ответ
#15
Для разделения пакетов можно использовать неттиевские классы:
addDecoder(new LengthFieldBasedFrameDecoder(Short.MAX_VALUE,0,2,-2,2));
addEncoder(new LengthFieldPrepender(2, true));
Ответ
#16
Спасибо. LengthFieldBasedFrameDecoder похоже то что нужно. А еще вопрос по "best practice" - в самом decoder`е лучше уже собирать готовый пакет и дальше обрабатывать в messageRecieve() или не обязательно ?
Ответ
#17
Моя схема обработки: LengthFieldBasedFrameDecoder->?Decoder(extends FrameDecoder)->PacketHandler(extends SimpleChannelHandler)
где ?Decoder:
логин сервер - BlowfishDecoder
гейм сервер - XORDecoder
Decoder`ы обрабатывают поток байтов, сами пакеты собираются в PacketHandler`е.
Ответ
#18
В l2 поле длинны не криптуется ? Думаю тоже также сделать , только местами изменить LengthDecoder и "Crypt"Decoder
Ответ
#19
Эмм пакеты же сначала разделяются по длине, а потом уже декодируются.
Ответ
#20
В тере все целиком криптуется например.
Приходит два склееных первых пакета закриптованых Размер 123
packet
И дальше расщепляются
2
Длина - первые два байта
[Изображение: image-6300_506486BD.jpg]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Netty StartUp grizly 15 7,237 08-11-2013, 04:49 PM
Последний пост: KID
  Netcore Source (Netty) n3k0nation 3 4,531 05-03-2010, 07:10 PM
Последний пост: Aquanox

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)