SocketServer.BaseRequestHandler has the data, and now?
ao11
andreas.ostermann.11 at googlemail.com
Fri Mar 18 20:15:29 EDT 2011
Hello,
I wrote a test application to play around with UDP, the receiving part
looks like:
class proxyServer(SocketServer.ThreadingMixIn,
SocketServer.UDPServer):
pass
class proxyHandler(SocketServer.BaseRequestHandler):
def handle(self):
data = self.request[0]
source = self.request[1]
cur_thread = threading.currentThread()
response = "%s - %s: %s" % (cur_thread.getName(), source,
data)
print response
class proxy(process) :
def __init__(self, id, context) :
process.__init__(self, id, context, self.run())
self.server = proxyServer(("", 58889), proxyHandler)
self.thread =
threading.Thread(target=self.server.serve_forever)
self.thread.setDaemon(True)
def __del__(self) :
if self.server != None :
self.server.shutdown()
def run(self) :
self.context.model.register(self)
self.thread.start()
...
...
...
def notify(self) :
print "notify " + str(self.id)
So far so good, but how do I get the data back from the handle method
to somewhere else? In my case I yust would like to add every incoming
datagram to a queue and process it later in a different thread.
How do I hand over the queue to the class
proxyHandler(SocketServer.BaseRequestHandler)?
thanks,
AO
More information about the Python-list
mailing list