SocketServer class examples

Frederick Grim fgrim at norby.dyndns.org
Sun Jul 18 20:33:33 CEST 2004


Howdy group,
    So I am in the middle of using the socketserver class from the std
library and have run into a problem that probably reveals my
misunderstanding of sockets.  I have a class defined like so:

class tcp_listener(SocketServer.ThreadingTCPServer):
        def __init__(self, addr, port):
                SocketServer.ThreadingTCPServer.__init__(self, \
                    (addr, port), Daemon.request_handler)

""" Yes I realize the above is silly and redundant """

And a request handler in Daemon that has a handle function that works like
so:
    def __req_handle(self, req):
        """ Do stuff with req and return a response afterwards """
        return response

    def handle(self);
        while True:
            input = self.rfile.readline()
            request = input
            while input and not re.search('EOF$', input):
                input = self.rfile.readline()
                request += input

            self.wfile.write(self.__req_handle(request))

The client end looks almost identical to the example in the python docs.  So
the problem here is that this code doesn't work.  Using tcpdump I can tell
that the client is sending to the server properly but the server is never
responding.  Or when it tries to respond it gets stuck in the write.  What's
going on here.  I can't seem to find a single example of how to use this
class on the client and server side and I don't want to use twisted (because
I should understand how this works instead of relying on canned software).
Does anyone know where I can find an example of a functioning SocketServer
and client? Google seems to help nought here.
    Thanks,
    Fred




More information about the Python-list mailing list