Netty 传输Channel
Channel的接口层次结构
- ChannelConfig:包含Channel的所有设置,支持热更新,特定的传输可能实现ChannelConfig的子类型
- ChannelPipeline:拥有所有入站和出站的ChannelHandler实例。
Channel的重要方法
多线程同时写Channel的例子
消息会按照写的顺序到达
Netty内置的传输实现
名称 | 包 | 描述 |
---|---|---|
NIO | io.netty.channel.socket.nio | 使用 java.nio.channels 包作为基础——基于选择器的方式 |
Epoll | io.netty.channel.epoll | 由 JNI 驱动的 epoll()和非阻塞 IO。这个传输支持只有在Linux上可用的多种特性,如SO_REUSEPORT,比 NIO 传输更快,而且是完全非阻塞的 |
OIO | io.netty.channel.socket.oio | 使用 java.net 包作为基础——使用阻塞流 |
Local | io.netty.channel.local | 可以在 VM 内部通过管道进行通信的本地传输(服务端和客户端运行在同一个JVM上) |
Embedded | io.netty.channel.embedded | Embedded 传输,允许使用 ChannelHandler 而又不需要一个真正的基于网络的传输。这在测试你的ChannelHandler 实现时非常有用 |
----