2017-07-26 2 views
1

J'apprends tordu et voici mon premier exemple de serveur:AttributeError: instance EchoFactory n'a pas d'attribut « doStart »

from twisted.internet import protocol, reactor 

class Echo(protocol.Protocol): 
    def dataReceived(self, data): 
     self.transport.write(data) 

class EchoFactory(protocol.Protocol): 
    def buildProtocal(self, addr): 
     return Echo() 

reactor.listenTCP(8000, EchoFactory()) 
reactor.run() 

Et je suis arrivé cette erreur, j'ai essayé de réinstaller la bibliothèque mais encore didn « t travail:

Traceback (most recent call last): 
File "/home/trieu/Desktop/server.py", line 11, in <module> 
reactor.listenTCP(8000, EchoFactory()) 
File "/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", 
line 495, in listenTCP 
p.startListening() 
File "/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 998, 
in startListening 
self.factory.doStart() 
AttributeError: EchoFactory instance has no attribute 'doStart' 

Répondre

3

EchoFactory devrait étendre protocol.Factory, non protocol.Protocol. En outre, vous avez une faute de frappe dans le nom de la méthode substituée, buildProtocol.