我有一个与http.server一起提供的小型演示页面。我尝试与我的同事共享,但发现http.server在任何打开的连接上都被阻止,因此无法为并发用户提供服务。有没有办法运行http.server来处理并发连接?我在这里找不到任何有用的东西:https://docs.python.org/3/library/http.server.html
答案 0 :(得分:1)
IIRC没有现有的配置选项,但如果您愿意,可以使用socketserver.ThreadingMixin
扩展一个:
import sys
import socketserver
import http.server
class ThreadedHTTPServer(socketserver.ThreadingMixIn, http.server.HTTPServer):
daemon_threads = True
port = int(sys.argv[1])
server = ThreadedHTTPServer(('', port), http.server.SimpleHTTPRequestHandler)
try:
server.serve_forever()
except KeyboardInterrupt:
pass