Dans Twisted Python - Assurez-vous qu'une instance de protocole serait complètement désallouée

StackOverflow https://stackoverflow.com/questions/1234292

Question

J'ai un serveur de socket de conversation assez intensif écrit en Twisted Python. Je le démarre avec internet.TCPServer avec une fabrique et cette fabrique fait référence à un objet de protocole qui gère toutes les communications avec le client.

Comment dois-je m'assurer qu'une instance de protocole se détruit complètement une fois qu'un client s'est déconnecté?

J'ai une fonction appelée connectionLost qui est activée une fois qu'un client est déconnecté et j'essaie d'arrêter toute activité immédiatement, mais je soupçonne que certains éléments du réacteur (tels que les instances twisted.words) continuent de fonctionner pour des instances de protocole obsolètes.

Quelle serait la meilleure approche pour gérer cela?

Merci!

Était-ce utile?

La solution

ok, pour résoudre ce problème, j'ai défini une méthode __ del __ dans la classe de protocole et je suis en train de consigner les instances de protocole qui n'ont pas été nettoyées dans la minute qui a suivi le moment où le client s'est déconnecté. .

Si quelqu'un a une meilleure solution, je serai toujours heureux de l'entendre, mais jusqu'à présent, j'ai déjà corrigé quelques fuites de mémoire potentielles à l'aide de ce journal.

Merci!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top