Maksim Kasimov wrote:
> I'm trying to write an server-application, using 
> BaseHTTPServer/BaseHTTPRequestHandler.
>
> When application is running, some client-application can post data to the 
> server, and BaseHTTPRequestHandler reads all headers and posted raw data from 
> "rfile", sends back response, than client/server session, than session closed 
> - that works just fine.
>
> how to check whether some data posted again by the client in the session, and 
> send response again in one session (and do such iterations util client stops 
> to post data) ?
>

BaseHTTPServer is precisely that, a HTTP server. what you are
describing is not (I'm pretty sure) not HTTP.
HTTP/1.1 can do something similar and is supported by BaseHTTPServer:
with HTTP/1.1 the stream is not closed between requests. This relies on
a Content-Length field being present in all communications from the
server to the client. To enable HTTP/1.1 you have to set the
protocol_version attribute of your BaseHTTPRequestHandler derived class
to "HTTP/1.1" .

A little while back I wrote a small guide to HTTP in the context of
BaseHTTPServer: http://crunchy.python-hosting.com/wiki/HttpServer

If (as I think) you want to send multiple, inter-dependent messages
each way under the aegis of one HTTP request, you should probably look
at sublassing TCPServer (you can, and probably should, still use
mimetools.Message to parse headers though).

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to