First, if this is the wrong forum, my appologies.
I have a
servlet that executes a C++ program on Solaris. The problem I'm having comes in streaming the output from the servlet to the client app. The client is also a
Java client.
The code looks like this (but a bit more complex)
OutputStream = (OutputStream)response.getOutputStream;
Runtime rt = Runtime.getRuntime();
Process pro = rt.exec(cmd);
InputStream is = pro.getInputStream();
byte[] buffer = new byte[266];
while(true){
int bytes = in.read(buffer);
if(bytes == -1) break;
out.write(buffer,0,bytes);
}// end while
Regardless of the size of output (and it is usally quite large) I get one of two errors. either an OutOfMemoryError from the servlet or Unexpected EOF Exception from the client.
Does anybody have any ideas? Would I have the same trouble if I used JNI?
thanks in advance