# Netty4Demo
**Repository Path**: chenmutime/Netty4Demo
## Basic Information
- **Project Name**: Netty4Demo
- **Description**: netty4.1项目示例,包括连接池
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2017-01-06
- **Last Updated**: 2021-09-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# netty4
使用netty4.1内置的池工具构建的连接池
1、配置多地址
2、初始化池操作
3、心跳功能
4、多种协议方式(https、http)
5、添加类似于FutureTask中的get()方法用于获取返回结果(可指定时间)
原理分析:
1)在NettyClientPoolFactory的构造器中添加服务端地址、端口以及服务名称,取得一个DefaultChannelPoolHandler,
分别传入三个boolean类型参数,分别表示是否支持https、http、心跳
2)在ClientTest类中进行测试i,在初始化NettyClientPoolFactory后,根据服务名称取得对应池————ChannelPool,
以此获取一个Future。随后,调用类中方法构建http(s)请求信息,和Future一起作为参数,传入NettyClient类中的sendMessage方法,
并获得一个DefaultGenericFutureListener返回参数
3)在发送消息后,你可以处理其他任务,或者直接使用DefaultGenericFutureListener调用get()方法阻塞直到获取到你想要参数。
当然,是不建议这么做的,最好在get()方法中传入相应参数,指定最长等待时间及时间单位。
4)最后,你需要使用ChannelPool释放掉Future.get(),因为你后续可能重用这个连接