09-07-2010 08:16 PM
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