gpt4 book ai didi

python - python中twistd应用程序的终止

转载 作者:太空宇宙 更新时间:2023-11-03 19:34:28 26 4
gpt4 key购买 nike

我正在尝试使用为Python编写的twistd库编写一个应用程序。应用程序文件的结尾如下:

工厂=协议(protocol).ServerFactory()

factory.protocol = EchoServer

application = service.Application("Echo")

internet.TCPServer(8001,工厂).setServiceParent(应用程序)

我想在应用程序终止之前运行一些东西(例如关闭文件)。有谁知道这是怎么做到的吗?因为这是一个事件处理程序,我不知道在哪里调用清理函数。

最佳答案

您需要向 ServicestartServicestopService 方法添加代码。

一种方法是这样的:

from twisted.application import service
from twisted.internet import protocol

class MyService(service.Service):
def __init__(self,port=8001):
self.port = port
def startService(self):
self.factory = protocol.ServerFactory()
self.factory.protocol = EchoServer
from twisted.internet import reactor
reactor.callWhenRunning(self.startListening)
def startListening(self):
from twisted.internet import reactor
self.listener = reactor.listenTCP(self.port,self.factory)
print "Started listening"
def stopService(self):
self.listener.stopListening()
# Any other tidying


application = service.Application("Echo")
MyService().setServiceParent(application)

关于python - python中twistd应用程序的终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4211932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com