刚好翻以前拍的照片,今天就发几张去朋友家撸猫拍的照片吧。
王皓的GitHub:https://github.com/TenaciousDWang
继续做一个客户端与服务端收发消息的功能,首先来创建两个COMMAND指令名称。
MESSAGE_REQUEST对应客户端发送消息请求,MESSAGE_RESPONSE对应服务端响应消息请求,相应的我们来创建两个数据包对象MessageRequestPacket与MessageResponsePacket。
接下来,我们来判断客户端是否登录成功,之前我们知道可以给Channel绑定属性,那么我们可以在客户端登陆成功后,为该连接的Channel绑定,先创建一个标志位对象。
接下来,将登录成功与判断是否登陆成功抽取出一个工具类。
最后在客户端收到服务端发来的登录成功相应后设置登陆成功标志位。
接下来改造一下客户端,写一个线程用来监控控制台输入数据,一旦有数据输入就编码并发送。
然后我们来改造客户端的逻辑处理器,添加数据包类型判断,对应不同的处理逻辑,其中当判断packet类型为MessageRequestPacket时,我们读取message数据打印在控制台上,并创建MessageResponsePacket,填充数据,编码后放入ByteBuf中发送至客户端。
最后我们来改造客户端逻辑处理器,同客户端逻辑处理器改造,我们同样需要添加对于数据包类型的判断,来对应不同的处理逻辑,这里我们添加对于MessageResponsePacket类型数据包的判断,如果为此类型,则读取message打印至控制台。
以上就是今天实现的客户端与服务端收发消息的功能。