# ANetty
**Repository Path**: iForkOpenSource/ANetty
## Basic Information
- **Project Name**: ANetty
- **Description**: :envelope: ANetty 是基于Netty二次封装的Android链路通讯库,用以快速开发高性能,高可靠性的网络交互。在保证易于开发的同时还保证其应用的性能,稳定性和伸缩性。轻松实现长链接通讯。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 14
- **Created**: 2023-02-24
- **Last Updated**: 2023-02-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ANetty

[](https://raw.githubusercontent.com/jenly1314/ANetty/master/app/release/app-release.apk)
[](https://jitpack.io/#jenly1314/ANetty)
[](https://travis-ci.org/jenly1314/ANetty)
[](https://circleci.com/gh/jenly1314/ANetty)
[](https://android-arsenal.com/api?level=16)
[](http://www.apache.org/licenses/LICENSE-2.0)
[](https://jenly1314.github.io/)
[](http://shang.qq.com/wpa/qunwpa?idkey=8fcc6a2f88552ea44b1411582c94fd124f7bb3ec227e2a400dbbfaad3dc2f5ad)
ANetty for Android 是基于Netty二次封装的Android链路通讯库,用以快速开发高性能,高可靠性的网络交互。在保证易于开发的同时还保证其应用的性能,稳定性和伸缩性。
## Gif 展示

## 引入
### Maven:
```maven
com.king.anetty
anetty
1.0.3
pom
```
### Gradle:
```gradle
implementation 'com.king.anetty:anetty:1.0.3'
```
### Lvy:
```lvy
```
###### 如果Gradle出现compile失败的情况,可以在Project的build.gradle里面添加如下:(也可以使用上面的GitPack来complie)
```gradle
allprojects {
repositories {
maven { url 'https://dl.bintray.com/jenly/maven' }
}
}
```
## 示例
代码示例
> ANetty暂并不提供Netty服务端封装库,因为在真实的场景中,服务端一般都依赖项目对应的业务。为了方便演示客户端效果,有个简易的[服务端demo](server),直接以Java的形式直接运行ANettyServer即可启动Netty服务
Netty服务端:
```Java
//初始化并启动服务
new ANettyServer().start(String host,int port);
```
Netty客户端:
```Java
//初始化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](app)中的源码使用示例
### 相关开源项目
##### [EasyChat](https://github.com/yetel/EasyChatAndroidClient) 一款即时通讯APP
## 版本记录
#### v1.0.3:2019-11-13
* OnChannelHandler接口内方法新增ChannelHandlerContext参数
#### v1.0.2:2019-10-30
* 新增setOnSendMessageListener方法
* 更新Netty依赖至4.1.43.Final
#### v1.0.1:2019-9-26
* 移除support依赖
* 更新Netty依赖至4.1.42.Final
#### v1.0.0:2019-3-30
* ANetty初始版本
## 赞赏
如果您喜欢ANetty,或感觉ANetty帮助到了您,可以点右上角“Star”支持一下,您的支持就是我的动力,谢谢 :smiley:
您也可以扫描下面的二维码,请作者喝杯咖啡 :coffee:
## 关于我
Name: Jenly
Email: jenly1314#gmail.com / jenly1314#vip.qq.com
CSDN: jenly121
博客园: jenly
Github: jenly1314
加入QQ群: 20867961