[Prev][Next][Index][Thread]

Server-push bug



I'll send this to WWW-CL instead of Bug-CL-HTTP since I'm not sure the
messages I've been sending there are going anywhere.  Besides, I'm
curious if anyone else has been doing anything with server-push.

Server push doesn't seem to work well between CL-HTTP 53.7 and Netscape 1.1.
For example:
   (with-server-push-response (stream)
       (loop do
         (with-block (stream :content-type :html)
            (sleep 5)
            (format stream "~\\datime\\<P>~3%"))))

Each block is flashed up only briefly, and the window spends most of the
time blank.  I got the same behavior when I first did own ad hoc
implementation of server-push.  The trick seems to be to put the
force-output after the sleep and before the boundary, since Netscape
apparently blanks the window when it sees the Content-type keyword
in each new block.  This seems to work:

      (with-block (stream :content-type :html :force-output nil)
		  (format stream "~\\datime\\<P>~3%")
		  (force-output stream)
		  (sleep 5))

It should be possible to fix this in general in CL-HTTP's
with-mime-multipart-block, of course.

-- 
                                                --Bob Kanefsky
                                  (Caelum Research Corporation)
                                NASA Ames Research Center
                Computational Sciences Division
http://ic-www.arc.nasa.gov/ic/projects/bayes-group/group/people/kanef/kanef.html