我有一个用Twisted Python编写的非常密集的聊天套接字服务器,我使用internet.TCPServer启动它,它有一个工厂,该工厂引用一个协议对象来处理与客户端的所有通信。
一旦客户端断开连接,我应该如何确保协议实例完全销毁自身?
我有一个名为connectionLost的函数,它在客户端断开连接时被激活,我试图立即停止那里的所有活动,但我怀疑一些反应器的东西(比如twisted.words实例)会因为过时的协议实例而继续运行。
处理这个问题的最佳方法是什么?
谢谢!
发布于 2009-08-06 00:14:23
好的,为了解决这个问题,我在协议类中设置了一个__del__方法,现在我记录了在客户端断开连接后1分钟内没有被垃圾回收的协议实例。
如果有人有更好的解决方案,我仍然很高兴听到这个消息,但到目前为止,我已经使用这个日志修复了一些潜在的内存泄漏。
谢谢!
https://stackoverflow.com/questions/1234292
复制相似问题