java - netty会自动flush写入的数据吗?

标签 java netty

最近在写一个http服务器,移植了一些netty组件到我的项目中。当我阅读netty的ChannelHandlerContext的源代码时,我发现它实际上并没有刷新到socket中。我知道我必须调用 flush() 将内部缓冲区刷新到套接字中。

所以我想知道netty会自动刷新内部缓冲区,我读过一些源代码,但我不擅长。我用谷歌搜索但没有人回答,我得到的唯一答案是冲洗。

我从源代码中了解到的是:write继续写入outboundbuffer,如果outboundbuffer达到highwatermark,它将触发可写性改变事件并且 channel 不可写。

最佳答案

如果你想在一行中完成,你可以调用writeAndFlush方法,否则你需要刷新,否则数据将不会通过。

关于java - netty会自动flush写入的数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57533955/

相关文章:

java - ElasticSearch 端口 9300 连接被拒绝

tcp - 使用带 Netty 的 Apache Camel 负载平衡 TCP 流量导致事务失败

netty中TCP keep-alive判断client是否断开

java - 在分布式应用程序中生成大致顺序 ID(32 位和 64 位大小)的方法

java - 没有从 SpeechRecognizer 类获得结果?

java - JPA 和 hibernate - 更新/合并一对多关系

java - 使用基数排序进行排序

java - 如何让servlet将特殊的url映射到静态资源?

java - netty tcp bytebuffer 服务器和客户端

netty - 当响应时间超过 requestReadTimeoutSeconds 时,KTor 将终止 GET 请求