SslHandler 的握手是不是通过所有客户端/服务器管道处理程序?
Posted
技术标签:
【中文标题】SslHandler 的握手是不是通过所有客户端/服务器管道处理程序?【英文标题】:Does SslHandler's handshake go through all client/server pipeline handlers?SslHandler 的握手是否通过所有客户端/服务器管道处理程序? 【发布时间】:2021-11-02 01:12:48 【问题描述】:我有一个带有 SslHandler 的客户端和服务器管道。它在docs 中声明,
一旦频道启动,握手将自动为您发出 active 并且 SSLEngine.getUseClientMode() 返回 true
由于握手涉及一些消息交换,我想知道服务器端的其他 ChannelHandler(比如解码器、记录器)是否也收到这些消息?似乎它没有意义,因为握手应该只在客户端 SslHandler 和服务器 SslHandler 之间发生(物理上是多消息但逻辑上是原子的事情)。我猜 SslHandler 不会仅仅通过在握手 "ping-pong" 完成之前不调用 fireReadEvent
将握手消息传播给其他处理程序,但在查看代码后不确定。
【问题讨论】:
【参考方案1】:SslHandler
“之前”的所有处理程序都会看到这些数据包。 SslHandler
“之后”的所有处理程序只会在握手完成后看到数据包(并且所有这些数据包都将被解密)。
【讨论】:
以上是关于SslHandler 的握手是不是通过所有客户端/服务器管道处理程序?的主要内容,如果未能解决你的问题,请参考以下文章