netty 中,为什么 ChannelOutboundHandler 会声明一个 read 方法

2022-02-20 19:44:54 +08:00
 ingin

rt: 出站操作有 write 就好了,为什么会有 read 方法的声明呢,简单查了一下:

inbound 代表外部引发的事件 event ,outbound 代表程序主动发起的操作 operation

不知道这种理解是否正确?

1085 次点击
所在节点    问与答
2 条回复
wineway
2022-02-21 10:01:37 +08:00
看看函数签名就懂了……
huang119412
2022-02-21 17:28:56 +08:00
看一下 ChannelOutboundInvoker#read 的注释,一般不需要用户操心,每个 channel 默认都是 auto read 。TCP 面向流的协议,而应用层协议消息是有边界的,所以有时候会说粘包,当 read 方法调用是会重新触发 pipeline ,可以看一下 ByteToMessageDecoder 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/835240

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX