Ho impostato l'opzione "receiveBufferSize" su 1024, ma per qualche motivo sto ancora ricevendo solo 768 byte nel messaggioRicevuto. L'intestazione dei dati indica che la dimensione dei dati che vengono inviati è 1004.Perché Netty mi dà solo 768 byte dai messaggi UDP
Di seguito si riporta il codice di inizializzazione per il server:
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));
}
Potrebbe aggiungere una citazione per il predittore di default essendo Predittore di dimensioni fisse di 768 byte? – eric
[DatagramChannelFactory] (http://static.netty.io/3.6/api/org/jboss/netty/channel/socket/DatagramChannelConfig.html). guarda setReceiveBufferSizePredictor (ReceiveBufferSizePredictor) '_Il predittore predefinito è FixedReceiveBufferSizePredictor (768) _ –