Netty UDP网络设置选项、无连接引导或信道配置

Netty UDP网络设置选项、无连接引导或信道配置,netty,Netty,我使用的是Netty 3.6.6 Final,我希望在UDP Netty IO客户端实现中设置sendBufferSize和receiveBufferSize选项,ConnectionlessBootstrap setOption()和ChannelConfig setOption()之间有什么区别?我应该使用两种setOption方法中的哪一种?这有关系吗 DatagramChannelFactory datagramChannelFactory = new NioDatagramChanne

我使用的是Netty 3.6.6 Final,我希望在UDP Netty IO客户端实现中设置sendBufferSize和receiveBufferSize选项,ConnectionlessBootstrap setOption()和ChannelConfig setOption()之间有什么区别?我应该使用两种setOption方法中的哪一种?这有关系吗

DatagramChannelFactory datagramChannelFactory = new NioDatagramChannelFactory(Executors.newCachedThreadPool());
ConnectionlessBootstrap connectionlessBootstrap = new ConnectionlessBootstrap(datagramChannelFactory);
connectionlessBootstrap.setPipelineFactory(...);
ChannelFuture channelFuture = connectionlessBootstrap.connect(new InetSocketAddress(host, port));
channelFuture.awaitUninterruptibly();
Channel channel = channelFuture.getChannel();
ChannelConfig channelConfig = channel.getConfig();
// Now, do this:
channelConfig.setOption("sendBufferSize", udpSendBufferSize);
channelConfig.setOption("receiveBufferSize", udpReceiveBufferSize);
// or do this:
connectionlessBootstrap.setOption("sendBufferSize", udpSendBufferSize);
connectionlessBootstrap.setOption("receiveBufferSize", udpReceiveBufferSize);

没关系。。。通常情况下,每个通道使用ChannelConfig,所有通道使用Bootstrap。

后续查询,发送和接收缓冲区大小上的setOption是否修改系统值,或者只是将大小分配给内部净队列?或者我需要在linux上使用sysctl命令,在Solaris上使用ndd命令来设置最大UDP缓冲区大小吗?