Dan*_*bbs 2 python sockets httpserver
我有以下代码,用于在端口 8000 上运行本地 HTTP 服务器:
# Omitted imports and irrelevant things for brevity.
class ThreadedHTTPServer(SocketServer.ThreadingMixIn, HTTPServer):
pass
class MyClass(object):
server = None
def start_server(self):
handler = MyPageHandler
self.server = ThreadedHTTPServer(('', 8000), handler)
server_thread = threading.Thread(target=self.server.serve_forever)
server_thread.daemon = False
server_thread.start()
def stop_server(self):
self.server.shutdown()
Run Code Online (Sandbox Code Playgroud)
然而,有时当stop_server返回时,监听套接字仍然会打开。我已经通过将其放在os.system("netstat -ln | grep 8000")末尾来验证这一点stop_server,并且它经常显示套接字仍在侦听。
有没有办法只stop_server在套接字关闭后返回?
看起来这个问题是通过添加server.server_close()@\xcf\x81ss 建议解决的:
def stop_server(self):\n self.server.shutdown()\n self.server.server_close()\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1270 次 |
| 最近记录: |