来创建一个Netty Client!
NettyClient.java
客户端与服务端类似,也需要线程模型、IO模型以及处理逻辑。
拍摄于台湾省垦丁,于2015年最后一天。
微信公众号
王皓的GitHub:https://github.com/TenaciousDWang
来创建一个Netty Client!
NettyClient.java
客户端与服务端类似,也需要线程模型、IO模型以及处理逻辑。
对于bootstrap.connect方法,我们可以参照服务端的bind方法,抽取出来,当连接失败时,调用自身实现重新连接。
一般情况,失败后不会马上重连,且不可能无限重连,这里我们写一个最多重连五次,每次间隔时间1秒钟,2秒钟,4秒钟,8秒钟,随着尝试次数的增加,同时增加重新连接动作的时间间隔。
bootstrap对象有一个方法config() 这个方法返回的是 BootstrapConfig,他是对 Bootstrap 配置参数的抽象,然后 bootstrap.config().group() 返回的就是我们在一开始的时候配置的线程模型 workerGroup,调 workerGroup 的 schedule 方法即可实现定时任务逻辑。代码如下:
上篇服务端里的引导类ServerBootstrap自身会有一些方法,同理客户端里的Bootstrap引导类也是有自己方法的,类似于ServerBootstrap:
以上就是一个简单的Netty Client的实现过程。