Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development


Thank you for visiting the BlackBerry Support Community Forums.

BlackBerry will be closing the BlackBerry Support Community Forums Device Forums on April 1st (Developers, see below)

BlackBerry remains committed to providing excellent customer support to our customers. We are delighted to direct you to the CrackBerry Forums, a well-established and thorough support channel, for continued BlackBerry support. Please visit http://forums.crackberry.com or http://crackberry.com/ask. You can also continue to visit BlackBerry Support or the BlackBerry Knowledge Base for official support options available for your BlackBerry Smartphone.

"When we launched CrackBerry.com 10 years ago, we set out to make it a fun and useful destination where BlackBerry Smartphone owners could share their excitement and learn to unleash the full potential of their BlackBerry. A decade later, the CrackBerry community is as active and passionate as ever and I know our knowledgeable members and volunteers will be excited to welcome and assist more BlackBerry owners with their questions."

- Kevin Michaluk, Founder, CrackBerry.com

Developers, for more information about the BlackBerry Developer Community please review Join the Conversation on the BlackBerry Developer Community Forums found on Inside BlackBerry.


Reply
Highlighted
Contributor
Posts: 16
Registered: ‎05-27-2010
My Device: any
My Carrier: any

HTTP CONNECTIONS TOO SLOW AT END OF STREAM

Hi people.

 

I have a problem when reading from http/https connections. I'm using a buffer to read from inputstream and curiously most of the time (around 30 seconds)  is consumed reading the "EOF" or "END" of connection. My code is like this (stripped out logs and  not important lines):

 

       InputStream in = null;
        ByteArrayOutputStream baos = null;
        
            in = hpc.openInputStream();
                baos = new ByteArrayOutputStream();
                byte[] buffer = new byte[BUFFER_SIZE]  ;

                    int bytesRead = in.read(buffer);
                    while (bytesRead > 0) {
                        baos.write(buffer,0,bytesRead);
                        bytesRead = in.read(buffer);
                    }

 

What I could see logging timestamps in a file is that the last in.read() that returns -1 has most of the time spent and fewer data returned than previous reads. It happens in the device and simulator.

I'm taking care of closing every streams and connections in a finally block. and proper suffix like deviceside=true/false, etc. is being added at end of url.

 

Is there a solution to this? Can anybody help me?

Any help will be appreciatted, thanks in advance!

Ezequiel