Re: Error with $Response-Flush()

2002-09-26 Thread Ron Grabowski

 And as you mentioned the 256 bytes most definetely need to be sent before
 anything will flush.
 
 It is actually Internet Explorer that needs to receive 256 bytes before
 displaying anything.  If you test your page with a different browser (like
 Mozilla), you'll see that the Flush() works with less data too.

How did you know that? Are quirks of IE and other Microsoft products
documented anywhere? I wouldn't know where to start in the MSDN.
___
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs



Re: Error with $Response-Flush()

2002-09-26 Thread Jan Dubois

On Thu, 26 Sep 2002 16:13:50 -0400, Ron Grabowski [EMAIL PROTECTED] wrote:

 And as you mentioned the 256 bytes most definetely need to be sent before
 anything will flush.
 
 It is actually Internet Explorer that needs to receive 256 bytes before
 displaying anything.  If you test your page with a different browser (like
 Mozilla), you'll see that the Flush() works with less data too.

How did you know that? Are quirks of IE and other Microsoft products
documented anywhere? I wouldn't know where to start in the MSDN.

It is not documented as far as I know.

I know this because I rewrote the ActiveState Visual Package Manager from
scratch (For Komodo 2.0 Professional and PDK 5.0).  It uses HTTP::Daemon
to act as a mini webserver.  When you install/upgrade/remove packages, I
wanted to see some kind of progress report in the browser window.  I could
see this immediately on Mozilla, but on IE only after a couple of packages
had been processed.

After changing the code to something like this, everything works on IE,
Mozilla (and Opera, if we ignore keyboard events):

my $res = HTTP::Response-new($RC_OK, $MSG_OK, $headers, undef);
$conn-send_response($res);

print $conn HTML;
HTML
  HEAD
TITLEVisual Package Manager/TITLE
LINK REL=stylesheet TYPE=text/css HREF=${\css()}
SCRIPTvar baseurl=$baseurl;/SCRIPT
SCRIPT TYPE=text/javascript SRC=$baseurl/html/vpm.js/SCRIPT
  /HEAD
  BODY onload=pageload()
!-- Fill buffers to force IE to display the page right now ! --
!--
xx --
!--
xx --
!--
xx --
!--
xx --
!--
xx --
HTML


Cheers,
-Jan
___
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs



Re: Error with $Response-Flush()

2002-09-25 Thread Jan Dubois

On Wed, 25 Sep 2002 15:20:40 +0800, Allegakoen, Justin Devanandan
[EMAIL PROTECTED] wrote:

And as you mentioned the 256 bytes most definetely need to be sent before
anything will flush.

It is actually Internet Explorer that needs to receive 256 bytes before
displaying anything.  If you test your page with a different browser (like
Mozilla), you'll see that the Flush() works with less data too.

Cheers,
-Jan
___
Perl-Win32-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs