Python 如何停止TCPServer
在三次迭代中,每一次都需要启动TCPServer,然后立即停止。所有三次都需要在端口8000上启动 正如下面代码中定义的那样,TCPServer将启动。但它只在第一次迭代中开始。其他两次迭代无法启动TCPServer,因为端口8000已被在上一次(第一次)迭代中启动的TCPServer使用。 为确保端口8000可用,需要关闭之前启动的TCP服务器 如何终止(停止)已经运行的TCPServerPython 如何停止TCPServer,python,sockets,tcpserver,socketserver,Python,Sockets,Tcpserver,Socketserver,在三次迭代中,每一次都需要启动TCPServer,然后立即停止。所有三次都需要在端口8000上启动 正如下面代码中定义的那样,TCPServer将启动。但它只在第一次迭代中开始。其他两次迭代无法启动TCPServer,因为端口8000已被在上一次(第一次)迭代中启动的TCPServer使用。 为确保端口8000可用,需要关闭之前启动的TCP服务器 如何终止(停止)已经运行的TCPServer import SimpleHTTPServer import SocketServer def st
import SimpleHTTPServer
import SocketServer
def startServer():
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
Handler.extensions_map.update({'.webapp': 'application/x-web-app-manifest+json', })
try:
httpd = SocketServer.TCPServer(("", 8000), Handler)
httpd.serve_forever()
print('httpd server has been successfully started ')
except Exception, e:
print(e)
for i in range(3):
startServer()
使用shutdown()
告诉serve\u forever()
循环停止并等待它停止。版本2.6中的新功能
对于您的代码,它应该像
httpd.serve_forever()
print('httpd server has been successfully started ')
httpd.shutdown()
httpd.server_close()
print('httpd server has been successfully stopped')
我将让OP更好地使用这个和链接页面底部的示例,以满足所需的要求。为了清晰起见,请使用Python版本
SocketServer
在3.0中被重命名为SocketServer
。您正在使用macOS吗?shutdown()
告诉serve_forever()
循环停止并等待它停止。版本2.6中的新功能@马克:运行Python 2.7。请作为答案发布,这样我们就可以投票了!