ANetty

Image

Download JitPack CI CircleCI API License Blog QQGroup

ANetty for Android 是基于Netty二次封装的Android链路通讯库,用以快速开发高性能,高可靠性的网络交互。在保证易于开发的同时还保证其应用的性能,稳定性和伸缩性。

Gif 展示

Image

引入

Maven:

    <dependency>
      <groupId>com.king.anetty</groupId>
      <artifactId>anetty</artifactId>
      <version>1.0.3</version>
      <type>pom</type>
    </dependency>

Gradle:

    implementation 'com.king.anetty:anetty:1.0.3'

Lvy:

    <dependency org='com.king.anetty' name='anetty' rev='1.0.3'>
      <artifact name='$AID' ext='pom'></artifact>
    </dependency>
如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
    allprojects {
        repositories {
            maven { url 'https://dl.bintray.com/jenly/maven' }
        }
    }

示例

代码示例

ANetty暂并不提供Netty服务端封装库,因为在真实的场景中,服务端一般都依赖项目对应的业务。为了方便演示客户端效果,有个简易的服务端demo,直接以Java的形式直接运行ANettyServer即可启动Netty服务

Netty服务端:

    //初始化并启动服务
    new ANettyServer().start(String host,int port);

Netty客户端:

    //初始化Netty
    mNetty = new ANetty(new Netty.OnChannelHandler() {
        @Override
        public void onMessageReceived(ChannelHandlerContext ctx,String msg) {
            //TODO 接收到消息
        }

        @Override
        public void onExceptionCaught(ChannelHandlerContext ctx,Throwable e) {

        }
    }, true);
    //设置连接监听
    mNetty.setOnConnectListener(new Netty.OnConnectListener() {
        @Override
        public void onSuccess() {
            //TODO 连接成功
        }

        @Override
        public void onFailed() {
            //TODO 连接失败
        }

        @Override
        public void onError(Exception e) {
            //TODO 连接异常
            Log.e(ANetty.TAG,e.getMessage());
        }
    });
    //设置发送消息监听
    mNetty.setOnSendMessageListener(new Netty.OnSendMessageListener() {
        @Override
        public void onSendMessage(Object msg, boolean success) {
            //TODO 发送消息,根据success判断是否发送成功
        }

        @Override
        public void onException(Throwable e) {
            //TODO 异常
        }
    });

    //初始化后,连接Netty
    mNetty.connect(String host,int port);

更多使用详情,请查看app中的源码使用示例

相关开源项目

EasyChat 一款即时通讯APP

版本记录

v1.0.3:2019-11-13

v1.0.2:2019-10-30

v1.0.1:2019-9-26

v1.0.0:2019-3-30

赞赏

如果您喜欢ANetty,或感觉ANetty帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:

您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:

关于我

Name: Jenly

Email: jenly1314#gmail.com / jenly1314#vip.qq.com

CSDN: jenly121

博客园: jenly

Github: jenly1314

加入QQ群: 20867961