Netty - 其他握手渠道?

时间:2017-11-01 19:39:32

标签: java netty

在我的netty客户端中,我有一个只有ChannelInboundHandlerAdapter的初始管道。有了这个处理程序,我处理协议的握手。之后,我需要修改管道以便正常使用。这意味着我需要删除ChannelInboundHandlerAdapter并添加LengthFieldPrepender / LengthFieldBasedFrameDecoder,Encoder / Decoder和Handler。

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

频道处理程序的上下文包含channel。您获得管道,并按所需顺序添加新的通道处理程序。最后,删除协商处理程序。

所有这一切都应该在协商通道处理程序内完成,作为最后的步骤。单个通道上的操作以顺序方式在该通道的事件循环(读取“线程”)上执行,因此通道内没有竞争条件。