FireNio - 构建通讯项目的异步 io 框架


Apache
跨平台
Java

软件简介

FireNio Project

FireNio 是基于 java nio 开发的一款可快速构建网络通讯项目的异步 IO 框架,其以简单易用的 API 和优良的性能深受开发者喜爱。

项目特色

快速入门

  • Maven引用:


    com.firenio
    firenio-all
    1.2.1

  • Simple Server:

    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.allocate());
              f.write("yes server already accept 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();
    

    }

  • Simple Client:

    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.writeAndFlush(frame);
    

    }

更多样例详见

演示及用例

License

FireNio is released under the Apache License
2.0
.