Ciao Ho un server Netty con un gestore che dovrebbe accettare stringhe. Sembra ricevere solo contenuti fino a 1024 byte. Come posso aumentare la dimensione del buffer. Ho già provatoNetty Increase Channel Dimensione buffer
bootstrap.setOption("child.sendBufferSize", 1048576);
bootstrap.setOption("child.receiveBufferSize", 1048576);
senza successo.
Il gestore è la seguente
public class TestHandler extends SimpleChannelHandler {
@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e) {
ChannelBuffer buf = (ChannelBuffer) e.getMessage();
String response = "";
if (buf.readable()) {
response = buf.toString(CharsetUtil.UTF_8);
System.out.println("CONTENT: " + response);
}
System.out.println(response);
}
@Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) {
e.getCause().printStackTrace();
Channel ch = e.getChannel();
ch.close();
}
}
Grazie Nicola. Ora noto che l'ultima riga non viene stampata. Perché? – ukuta
Buona domanda. Puoi inserire un delimitatore di fine riga completo alla fine dell'ultima riga? – Nicholas
Grazie Nicholas. È possibile utilizzare il mio delimitatore. Brillante!!! Questo è un tutorial MUST-READ di Nicholas. http: //seeallhearall.blogspot.kr/2012/06/netty-tutorial-part-15-on-channel.html ... p.addLast ("frameDecoder", nuovo DelimiterBasedFrameDecoder (8192, ChannelBuffers.wrappedBuffer ("") .getBytes()))); – ukuta