Ich habe die "receiveBufferSize" -Option auf 1024 festgelegt, aber aus irgendeinem Grund bekomme ich immer noch nur 768 Bytes in messageReceived. Der Header der Daten zeigt, dass Größe der Daten ist 1004.Warum gibt Netty nur 768 Bytes von UDP-Nachrichten
Unterhalb der Initialisierungscode ist für den Server gesendet werden:
public static void main(String[] args) throws Exception {
ConnectionlessBootstrap b = new ConnectionlessBootstrap(new NioDatagramChannelFactory());
// Options for a new channel
b.setOption("receiveBufferSize", 1024);
System.out.println(b.getOptions());
b.setPipelineFactory(new ChannelPipelineFactory() {
@Override
public ChannelPipeline getPipeline() throws Exception {
return Channels.pipeline(
new MyUDPPacketDecoder(),
new StdOutPrintHandler());
}
});
b.bind(new InetSocketAddress(myPort));
}
Könnten Sie ein Zitat für die Standard-Prädiktor hinzufügen zu sein lesen 768 Byte Festgrößen-Prädiktor? – eric
[DatagramChannelFactory] (http://static.netty.io/3.6/api/org/jboss/netty/channel/socket/DatagramChannelConfig.html). Sehen Sie sich "setReceiveBufferSizePredictor" (ReceiveBufferSizePredictor) an. _Der Standardprädiktor ist "FixedReceiveBufferSizePredictor" (768). –