![跟闪电侠学Netty:Netty即时聊天实战与底层原理](https://wfqqreader-1252317822.image.myqcloud.com/cover/384/43738384/b_43738384.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
6.3 服务端返回数据到客户端
服务端向客户端写数据逻辑与客户端的写数据逻辑一样,首先创建一个ByteBuf,然后填充二进制数据,最后调用writeAndFlush()方法写出去。下面是服务端返回数据的代码。
![](https://epubservercos.yuewen.com/6C3355/23020652909769306/epubprivate/OEBPS/Images/txt007_9.jpg?sign=1739269086-NrvrQbYFPeYbkFIqQCPMt1krDOkecQue-0-0d9e6a4b6cc740d2e4b46aef501d1f15)
现在,轮到客户端了。客户端读取数据的逻辑和服务端读取数据的逻辑一样,同样是覆盖channelRead()方法。
![](https://epubservercos.yuewen.com/6C3355/23020652909769306/epubprivate/OEBPS/Images/txt007_10.jpg?sign=1739269086-ODq0gTN8F8hCtxNRa0znViBIeCzBno2c-0-920c58e219f4eaaccdc55b01fabc1cc6)
将这段逻辑添加到客户端的逻辑处理器FirstClientHandler之后,客户端就能收到服务端发来的数据。
客户端与服务端读写数据的逻辑完成之后,先运行服务端,再运行客户端,控制台输出分别如下面两图所示。
服务端
![](https://epubservercos.yuewen.com/6C3355/23020652909769306/epubprivate/OEBPS/Images/txt007_11.jpg?sign=1739269086-brgdfvKUhGL4zuRmoqmlHgCHemaShaEy-0-86f4a6a70132a4f4e0fbfdaf10a487e5)
客户端
![](https://epubservercos.yuewen.com/6C3355/23020652909769306/epubprivate/OEBPS/Images/txt007_12.jpg?sign=1739269086-MXYCucgoMSimajVcur8rJPGAJDUDOc6K-0-cdab314dedb15c674e09894ee153e837)
到这里,本章要实现的客户端与服务端双向通信的功能就实现完毕了。