I'm using AOLserer 3.3+ad13 on Solaris 8.

In the past I've been told that ns_write will block until all the data
has been received by the client browser.  So, if the client is on a
paricularly slow connection, ns_write could block for a long time.

Is that really true?  Or is it just that ns_write will block if the
socket send buffer is full?  And if so, how do I find out how big my
TCP/IP send buffer is?

I have an application where I'm generating poetentially a whole lot of
data, which can be relatively slow, and where the client can start
making use of the data even before all of it is received.  So, it sure
would be nice to ns_write out the data in chunks as we generate it,
rather than waiting and ns_return'ing the whole thing at the end.

But, is ns_write's underlying implementation using the TCP/IP socket
send buffer intelligently, or does it force a send of a separate
packet for every single call to ns_write?  Even if, e.g., the socket
send buffer is large and we call ns_write with only 1 byte of data?

What steps do you recomend taking in order to limit the performance
impact of using ns_write, while still being able to stream out results
as you generate them?

Thanks!

--
Andrew Piskorski <[EMAIL PROTECTED]>
http://www.piskorski.com

Reply via email to