BBS水木清华站∶精华区

发信人: hdpuzp (中国不是南联盟), 信区: Java 
标  题: 自编http服务器如何判定IE所发请求何时结束? 
发信站: BBS 水木清华站 (Fri Aug 13 14:36:04 1999) WWW-POST 
 
 我准备自己实现一个http服务器,但在调试时遇到下述困难: 
 当服务器端收到IE的请求后,新建一个线程进行接收,考虑 
 到请求可能包括二进制信息(例如上载文件),所以用 
 in=incoming.getinputstream() 及 in.read()接收。 
 用while((c=in.read())!=-1)做循环结束条件,但却出现程 
 序阻塞的情况,看起来好象是IE发来的请求并没有很好的实 
 现输入流的结束。以致于实际的请求接收完后服务器仍在等 
 待IE的输入。 
 借助length=in.available()  也不行,第一次请求htm文档 
 好象可以,但当IE再次请求同一页面中所嵌的图片等时,服务 
 器端此时的length却变为零.好象是没有接收到请求,但用 
 din=new datainputstream(in)及 din.readln() 接收,却 
 清楚地显示出接收到了请求: GET ***.gif http/1.0等。 
 不知avialable()方法到底应如何用? 
 另外,当IE申请带有其它超链接的页面时(例:清华主页上带有很多图片) 
 A 建立连接-申请htm-回复-关闭连接 重新建立连接-申请*.jpg-回复-关闭连接 不断重 
复 
 B 建立连接-申请htm-回复-申请*.jpg-回复-关闭连接 
 实际情况应该是那一种? 
 望高手赐教,多谢! 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.194.152.30]  

BBS水木清华站∶精华区