Netty 如何增加AsyncHttpClient中的默认缓冲区大小?

Netty 如何增加AsyncHttpClient中的默认缓冲区大小?,netty,asynchttpclient,ning,Netty,Asynchttpclient,Ning,如何在AsyncHttpClient中增加默认缓冲区大小。 我使用以下代码从流式服务器HTTP长池读取消息 当服务器发送的消息长度超过8KB时,我的消息会被分成多个块 例如: 原始信息:- 这是我的测试信息 收到的信息:- 这是我的 试验 信息 有没有办法增加缓冲区大小?这样我就可以在一个部分中接收整个消息 我的代码 AsyncHttpClientConfig.Builder config = new AsyncHttpClientConfig.Builder() .setConnect

如何在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();
}
我试图累积消息正文部分,但这需要服务器大小中的独立逻辑才能知道消息的结尾

谢谢


Ravi

在AsyncHttpClient中,这不是缓冲区大小的问题,而是如何通过网络将响应拆分为TCP帧。如果您不想控制每个块,但准备在内存中缓冲它们,并且只处理整个块,请使用AsyncCompletionHandler而不是低级AsyncHandler。

您应该在服务器端更改它。这不是客户端问题。我有一个web套接字客户端,它能够接收超过8KB的消息。但此客户端无法接收超过8KB的消息。asynchttpclient不允许设置最大消息大小。。。