Netty 如何增加AsyncHttpClient中的默认缓冲区大小?
如何在AsyncHttpClient中增加默认缓冲区大小。 我使用以下代码从流式服务器HTTP长池读取消息 当服务器发送的消息长度超过8KB时,我的消息会被分成多个块 例如: 原始信息:- 这是我的测试信息 收到的信息:- 这是我的 试验 信息 有没有办法增加缓冲区大小?这样我就可以在一个部分中接收整个消息 我的代码Netty 如何增加AsyncHttpClient中的默认缓冲区大小?,netty,asynchttpclient,ning,Netty,Asynchttpclient,Ning,如何在AsyncHttpClient中增加默认缓冲区大小。 我使用以下代码从流式服务器HTTP长池读取消息 当服务器发送的消息长度超过8KB时,我的消息会被分成多个块 例如: 原始信息:- 这是我的测试信息 收到的信息:- 这是我的 试验 信息 有没有办法增加缓冲区大小?这样我就可以在一个部分中接收整个消息 我的代码 AsyncHttpClientConfig.Builder config = new AsyncHttpClientConfig.Builder() .setConnect
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();
}
我试图累积消息正文部分,但这需要服务器大小中的独立逻辑才能知道消息的结尾
谢谢
Ravi在AsyncHttpClient中,这不是缓冲区大小的问题,而是如何通过网络将响应拆分为TCP帧。如果您不想控制每个块,但准备在内存中缓冲它们,并且只处理整个块,请使用AsyncCompletionHandler而不是低级AsyncHandler。您应该在服务器端更改它。这不是客户端问题。我有一个web套接字客户端,它能够接收超过8KB的消息。但此客户端无法接收超过8KB的消息。asynchttpclient不允许设置最大消息大小。。。