如何在 AsyncHttpClient 中增加默认缓冲区大小。我正在使用以下代码从流服务器(Http 长池)读取消息。
当服务器发送超过 8KB 的消息时,我的消息被分成块。
前任:-
原始消息:-
这是我的测试信息
收到消息:-
这是我的
测试
信息
有没有办法增加缓冲区大小?这样我就可以在一个部分中收到整个消息?
我的代码
AsyncHttpClientConfig.Builder config = new AsyncHttpClientConfig.Builder()
.setConnectionTimeoutInMs(120000)
.setRequestTimeoutInMs(-1)
.setIdleConnectionTimeoutInMs(120000)
.setMaxConnectionLifeTimeInMs(-1);
AsyncHttpClient client = new AsyncHttpClient(config.build());
Future<String> f = client.prepareGet("http://IP:PORT/context/test").execute(
new AsyncHandler<String>() {
private ByteArrayOutputStream bytes = new ByteArrayOutputStream();
@Override
public STATE onBodyPartReceived(
HttpResponseBodyPart bodyPart) throws Exception {
String data = new String(bodyPart.getBodyPartBytes());
System.out.println("My Message : ---------------------------- >" + data);
return STATE.CONTINUE;
}
});
f.get();
}
我试图积累消息正文部分,但这需要服务器大小的单独逻辑才能知道消息的结尾。
谢谢,
拉维