On Sun, 25 Feb 2001, Ivan Cornell wrote:
Philippe J wrote:
I'd like to implement a chat function using the multipart content type and I wonder if that is possible with Zope. My idea is to write a python script that pushes the content of a database until e.g. the stop button is pressed in the Browser. But how would the script know that it's supposed to stop? And would such a longtime connection completely occupy one Zope thread so that I'd have to increase the number of threads?
Not sure about the threads, but a quite comonly used trick is to generate the html page as the chat evolves, without writting the ending </html> tag. The browser will think the connexion is slow, and will continue to display the page. You should not, however, use complex layout (tables), as the browser sometimes need a complete page to display those.
I fairly sure this won't work, as I believe Zope renders a complete page before sending it the client browser. This is unlike something like PHP which sends the page as it interprets it. This confused me when I first switched as I was trained to always send headers before any output, however in zope you can manipulate the REQUEST object right up to the end of your page.
You can send streaming output with RESPONSE.write() which is documented in the online help system. -Michel