[Twisted-Python] Issue with stopListening

All, I have written a Twisted server that will be used as a test server to test the client software ability to gracefully handle server shutdown and thereafter reconnect. For that purpose I need my twisted server to periodically stop listening on ports for a while, and then commence normal operation again. For some reason I don't seem to succeede since the twisted server never seems to stop listening on a port even if I call the stopListening method on the IListeningPort object. Anyone got a clue to what I'm doing wrong? Regards /Örjan ---- [...] ports = [8007,8008,8009] listenPorts = [] for port in ports: print "Listening on port %d" % port listenPorts.append(reactor.listenTCP(port, myFactory)) length = len(listenPorts) ptime = 10 dtime = 5 def Down(ticks): print "Stop listening on port %d" % ports[ticks%length] listenPorts[ticks%length].stopListening() reactor.callLater(dtime, Up, ticks) def Up(ticks): print "Start listening on port %d" % ports[ticks%length] listenPorts[ticks%length].startListening() reactor.callLater(ptime, Down, ticks+1) reactor.callLater(ptime, Down, 0) reactor.run()

On Wed, 04 May 2005 18:23:53 +1000, Örjan Reinholdsen <Orjan.Reinholdsen@smarttrust.com> wrote:
stopListening() may return a deferred, in which case you'll need to wait for it to fire before you can be sure that Twisted has stopped listening. Since you have multiple ports a DeferredList may help you here. Perhaps that is the problem? -Eric

On Wed, 04 May 2005 18:23:53 +1000, Örjan Reinholdsen <Orjan.Reinholdsen@smarttrust.com> wrote:
stopListening() may return a deferred, in which case you'll need to wait for it to fire before you can be sure that Twisted has stopped listening. Since you have multiple ports a DeferredList may help you here. Perhaps that is the problem? -Eric
participants (2)
-
Eric Mangold
-
Örjan Reinholdsen