我的服务端在不停地用OutputStream写数据,客户端在用HttpURLConnection.getInputStream读数据。问题是,客户端在getInputStream的时候就阻塞了,然后就出现异常。但是如果我在服务端就写一次数据,那么客户端就不会在getInputStream的时候就阻塞。这是为什么呢?
服务端:
OutputStream os = response.getOutputStream();
try{
do{
 os.write(head);
 os.write(data);
 os.write(newline);
 os.flush();
 Thread.sleep(sleep);
} while (true);
} catch (Exception e) {
Log.error("realImage.jsp out Exception:%s", e.getMessage());
} finally {
if (os != null) {
try {
os.close();
} catch (Exception e) {
Log.error("close outputstream out exception:" + e);
}
}
if (out != null) {
out.clear();
out = pageContext.pushBody();
}
}客户端:
URL url = new URL(this.url);
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setConnectTimeout(CONTIMEOUT);
conn.setReadTimeout(READTIMEOUT);
conn.connect();
is = conn.getInputStream();
jsp java hjspjava