I've written a Twisted based server and I'd like to test it using twisted as well.
But I'd like to write a load test starting a bunch of request at the same time.
But I believe that I didn't get the concepts of Twisted, mainly client side, because I'm stucked with this problem:
from twisted.internet import reactor, protocol from threading import Thread from twisted.protocols.basic import LineReceiver __author__="smota" __date__ ="$30/10/2009 17:17:50$" class SquitterClient(LineReceiver): def connectionMade(self): self.sendLine("message from " % threading.current_thread().name); pass def connectionLost(self, reason): print "connection lost" def sendMessage(self, msg): for m in [ "a", "b", "c", "d", "e"]: self.sendLine(msg % " - " % m); class SquitterClientFactory(protocol.ClientFactory): protocol = SquitterClient def clientConnectionFailed(self, connector, reason): print "Connection failed - goodbye!" reactor.stop() def clientConnectionLost(self, connector, reason): print "Connection lost - goodbye!" reactor.stop() def createAndRun(): f = SquitterClientFactory() reactor.connectTCP("localhost", 4010, f) reactor.run(installSignalHandlers=0) # this connects the protocol to a server runing on port 8000 def main(): for n in range(0,10): th=Thread(target=createAndRun) th.start() # this only runs if the module was *not* imported if __name__ == '__main__': main()
socket_client.py:35: DeprecationWarning: Reactor already running! This behavior is deprecated since Twisted 8.0
What am I missing?
How to test it?