你好,我有一個Netty服務器,應該接受字符串的處理程序。它似乎只接收高達1024字節的內容。我怎樣才能增加緩衝區大小。我已經試過Netty增加ChannelBuffer大小
bootstrap.setOption("child.sendBufferSize", 1048576);
bootstrap.setOption("child.receiveBufferSize", 1048576);
沒有成功。
的處理程序如下
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();
}
}
感謝尼古拉。現在我注意到最後一行沒有打印。爲什麼? – ukuta
好問題。你能在最後一行的末尾加上一個完整的行尾分隔符嗎? – Nicholas
謝謝尼古拉斯。有可能使用我自己的分隔符。輝煌!!!這是Nicholas的必讀教程。 http://seeallhearall.blogspot.kr/2012/06/netty-tutorial-part-15-on-channel.html ... p.addLast(「frameDecoder」,new DelimiterBasedFrameDecoder(8192,ChannelBuffers.wrappedBuffer(「」 .getBytes()))); – ukuta