J'ai un serveur qui envoie à mon client l'adresse d'un serveur de sauvegarde en cas de panne. Côté serveur, le serveur de sauvegarde est en cours d'exécution. Du côté client une fois la connexion est perdue, je ne suis pas en mesure de faire le client pour se connecter au serveur de sauvegarde. Je sais que je dois ajouter la logique de connexion à la fonction de rappel suivante dans twisted.internet.protcol.Protocol
Se reconnecter à une adresse différente dans tordu?
class MyProtocol(Protocol):
def connectionLost(self, reason):
print 'Connection Lost'
print 'Trying to reconnect'
# How do I reconnect to another address say at localhost:8001
f = Factory()
f.protocol = MyProtocol
reactor.connectTCP("localhost", 8000, f)
reactor.run()
Si le serveur sur localhost:8000
arrêté il déclenche la méthode connectionLost(..)
. Dans cette méthode, je veux mettre la logique pour se connecter à l'hôte de sauvegarde qui, dans ce cas, est dit localhost:8001
, mais pourrait être quelque chose d'arbitraire. Comment faire cela?
Edit: Je veux faire cela sans l'aide ReconnectingClientFactory
double possible de [Twisted: connexion ReconnectingClientFactory à différents serveurs] (https://stackoverflow.com/questions/14255289/twisted- reconnexionclientfactory-connection-to-different-servers) –