[Twisted-Python] How to run function from protocol class
Michał Tyde
ajchos at wp.pl
Fri Aug 12 07:48:27 EDT 2005
I got the code:
from twisted.internet.protocol import Protocol
class MyClientProtocol(Protocol):
buffer = ''
def connectionMade(self):
self.transport.write('hello world')
def myFunction(self):
self.transport.write('blah')
def dataReceived(self, data):
self.buffer += data
if self.buffer == 'hello world':
self.transport.loseConnection()
from twisted.internet.protocol import ClientFactory
class MyFactory(ClientFactory):
protocol = MyClientProtocol
def startedConnecting(self, connector):
pass # we could connector.stopConnecting()
def clientConnectionLost(self, connector, reason):
connector.connect() # reconnect
def clientConnectionFailed(self, connector, reason):
print "connection failed"
reactor.stop()
from twisted.internet import reactor, task
#t=MyClientProtocol()
#l = task.LoopingCall(t.myFunction)
#l.start(5.0)
reactor.connectTCP('localhost', 7771, MyFactory(), timeout=30)
reactor.run()
I want to run my function myFunction every 5 sec (commented code). I want to use a task.LoopingCall loop.
I am run out of new ideas. I don't know how to do this. Help please.
More information about the Twisted-Python
mailing list