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水木清华站∶精华区