最近在写一个http服务器,移植了一些netty组件到我的项目中。当我阅读netty的ChannelHandlerContext
的源代码时,我发现它实际上并没有刷新到socket中。我知道我必须调用 flush()
将内部缓冲区刷新到套接字中。
所以我想知道netty会自动刷新内部缓冲区,我读过一些源代码,但我不擅长。我用谷歌搜索但没有人回答,我得到的唯一答案是冲洗。
我从源代码中了解到的是:write继续写入outboundbuffer,如果outboundbuffer达到highwatermark,它将触发可写性改变事件并且 channel 不可写。
最佳答案
如果你想在一行中完成,你可以调用writeAndFlush
方法,否则你需要刷新,否则数据将不会通过。
关于java - netty会自动flush写入的数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57533955/