Netty 客户端登陆流程

17 篇文章 0 订阅
17 篇文章 4 订阅

接上篇,九份小火车的驾驶室

终点站,熟悉吗?《那些年我们追过的女孩》场景之一

到了九份,依山而建,山下远处就是大海

像不像千与千寻里的,宫崎骏的千与千寻就是在这里完成构思

汤婆婆的屋

最后来张小吃店的图,好多小吃,人很多,很温馨。

                                                                               微信公众号

                                              王皓的GitHub:https://github.com/TenaciousDWang

 

        今天来实现Netty客户端登陆功能,服务端收到后返回响应,客户端收到服务端响应后打印到控制台,具体流程图如下。

 

 

        之前我们已经创建了一个客户端和一个服务端,根据上面的登陆逻辑流程先开始实现客户端的发送登录请求的逻辑,我们只需要编写一个登陆逻辑处理器,绑定到channel的逻辑处理链上即可。接下来我们来实现它。

 

         首先来改造一下编码过程的方法为ByteBuf encode(ByteBuf byteBuf,Packet packet),并将PacketCodeC写成单例,不再手动创建ByteBuf,而是从ChannelHandlerContext中获取。

 

 

        然后创建逻辑处理器。

 

 

        连接成功时会调用channelActive方法,我们先创建一个登陆对象,设置数据后,进行编码返回ByteBuf后,为连接写入数据发送。最后我们给客户端添加刚才创建的处理器。

 

 

        接下来我们来创建服务端逻辑处理器,服务端的handler,服务端使用channelRead()方法读取数据,创建登陆响应指令数据包。根据校验用户数据情况填充不同响应数据,写入响应,同样也将这个逻辑处理器给服务端绑定上。

 

 

        最后客户端的Handler需要添加channelRead()方法读取服务端返回的响应数据。

 

 

最后启动服务端与客户端,即可在控制台看到结果~

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值