Frage

Ich habe einen ziemlich intensiven Chat-Socket-Server in Twisted-Python geschrieben, beginne ich mit einer Fabrik und dem vom Werk Verweise auf ein Protokoll-Objekt internet.TCPServer, die gesamte Kommunikation mit dem Kunden behandelt.

Wie soll ich eine Protokollinstanz zerstört sich selbst völlig sicher, sobald ein Client getrennt hat?

Ich habe eine Funktion namens connectionLost bekam, die einmal trennt ein Client angefeuert wird und ich versuche, genau dort alle Aktivitäten zu stoppen, aber ich einige Reaktor Sachen vermuten (wie twisted.words Instanzen) halten für veraltete Protokollinstanzen ausgeführt wird.

Was wäre der beste Ansatz zu handhaben?

Danke!

War es hilfreich?

Lösung

ok, für dieses Problem aussortieren Ich habe eine __del__ Methode in der Protokoll-Klasse festgelegt, und ich bin jetzt Protokollinstanzen Anmeldung, die nicht Müll aus der Zeit, innerhalb von 1 Minute gesammelt hat, die Client-Verbindung beendet hat.

Wenn jemand eine bessere Lösung hat werde ich immer noch froh sein, darüber zu hören, aber bisher habe ich feste schon ein paar potentiellen Speicherlecks dieses Protokoll verwenden.

Danke!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top