python -m http.server 可以配置为处理并发请求吗?

Rob*_*Sim 3 python http simplehttpserver httpserver

我有一个使用 http.server 的小型演示页面。我尝试与同事共享,但发现 http.server 在任何打开的连接上仍然被阻止,因此无法为并发用户提供服务。有没有办法运行 http.server 来处理并发连接?我在这里没有发现任何有用的东西:https ://docs.python.org/3/library/http.server.html

geo*_*xsh 5

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
Run Code Online (Sandbox Code Playgroud)

ps:有相关的python票