Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Netty, структура 
:(
    Опции темы
DieorL2
Дата 19.8.2012, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый день!

Нужна помощь в понимании этой библиотеки.

При создании сервера указываем пайплайн:


 
Код

       ServerBootstrap bootstrap = new ServerBootstrap(
                new NioServerSocketChannelFactory(
                        Executors.newCachedThreadPool(),
                        Executors.newCachedThreadPool()));

        
        bootstrap.setPipelineFactory(new FactorialServerPipelineFactory());


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

Код

 public ChannelPipeline getPipeline() throws Exception {
        ChannelPipeline pipeline = pipeline();

        

        
        pipeline.addLast("decoder", new Decoder());
        pipeline.addLast("encoder", new Encoder());

        
        pipeline.addLast("handler", new Handler());

        return pipeline;
    }


в хандлере идет обработка и возбуждение возможных ошибок:
Код

@Override
    public void messageReceived(
            ChannelHandlerContext ctx, MessageEvent e) {
        // Send back the received message to the remote peer.
        transferredBytes.addAndGet(((ChannelBuffer) e.getMessage()).readableBytes());
        e.getChannel().write(e.getMessage());
    }

    @Override
    public void exceptionCaught(
            ChannelHandlerContext ctx, ExceptionEvent e) {
        // Close the connection when an exception is raised.
        logger.log(
                Level.WARNING,
                "Unexpected exception from downstream.",
                e.getCause());
        e.getChannel().close();
    }



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

И если входящие данные зашифрованы, например blowfish`ем, то расшифровка происходит в енкодер\декодер или в хендлер?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

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


 




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


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

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