1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/FireNio-firenio

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README-en.md 4.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 13:33 eddb95b

Проект FireNio

Сайт Maven central Лицензия

FireNio — это фреймворк для работы с сетью, который позволяет быстро создавать сетевые проекты. Он основан на Java NIO и популярен среди разработчиков благодаря простым и удобным API и высокой производительности.

Возможности

  • Поддержка расширяемых протоколов, известные:
    • Протокол LengthValue, подробнее см. {firenio-test}
    • Протокол HTTP1.1 (легкий), подробнее: https://www.firenio.com/
    • Протокол WebSocket, подробнее: https://www.firenio.com/web-socket/chat/index.html
    • Протокол Protobase (пользовательский), поддерживающий текст или двоичные данные, подробнее см. {firenio-test}
  • Легкая поддержка повторного соединения (легкая поддержка пинга)
  • Поддержка SSL (JdkSSL & OpenSSL)
  • TFB нагрузочное тестирование
  • TFB Бенчмарк (физическая машина)
  • TFB Бенчмарк (облако)

Быстрый старт

  • Maven зависимость
  <dependency>
  	<groupId>com.firenio</groupId>
  	<artifactId>firenio-all</artifactId>
  	<version>1.3.6</version>
  </dependency>  
  • Простой сервер:

  public static void main(String[] args) throws Exception {

      IoEventHandle eventHandleAdaptor = new IoEventHandle() {

          @Override
          public void accept(Channel ch, Frame f) throws Exception {
              String text = f.getStringContent();
              f.setContent(ch.allocateWithSkipHeader(1));
              f.write("yes server already accepted your message:", ch);
              f.write(text, ch);
              ch.writeAndFlush(f);
          }
      };
      ChannelAcceptor context = new ChannelAcceptor(8300);
      context.addChannelEventListener(new LoggerChannelOpenListener());
      context.setIoEventHandle(eventHandleAdaptor);
      context.addProtocolCodec(new LengthValueCodec());
      context.bind();
  }
  • Простой клиент:
  
  public static void main(String[] args) throws Exception {
      ChannelConnector context = new ChannelConnector("127.0.0.1", 8300);
      IoEventHandle eventHandle = new IoEventHandle() {
          @Override
          public void accept(Channel ch, Frame f) throws Exception {
              System.out.println();
              System.out.println("____________________" + f.getStringContent());
              System.out.println();
              context.close();
          }
      };

      context.setIoEventHandle(eventHandle);
      context.addChannelEventListener(new LoggerChannelOpenListener());
      context.addProtocolCodec(new LengthValueCodec());
      Channel          ch    = context.connect(3000);
      LengthValueFrame frame = new LengthValueFrame();
      frame.setString("hello server!", ch);
      ch.writeAndFlush(frame);
  }

Дополнительные примеры см. проект {firenio-test}

Примеры на сайте:

Лицензия

Проект FireNio распространяется под лицензией Apache License 2.0.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/FireNio-firenio.git
git@api.gitlife.ru:oschina-mirror/FireNio-firenio.git
oschina-mirror
FireNio-firenio
FireNio-firenio
master