使用 python HTTPServer 处理请求数
Serving number of requests using python HTTPServer
我只想使用 python HTTPServer 处理有限数量的请求。
这里有一些关于我的架构的事情:
我有一个客户端去服务器并请求数据。
服务器 (pythonic HTTPServer) 有一个包含数据的列表。
每次客户端请求数据时,它都会获得列表中的下一项。
我希望服务器在发送完列表中的所有数据后停止。
我考虑过的解决方案是检查列表中的数据数量并仅提供此次数。
我必须注意只有一个客户端,因为我出于测试目的这样做。
如何实施?
我考虑过在发送所有命令时引发一个事件,这样一些线程会终止服务器,但也许您有更简单的方法。
提前致谢
所以你可能想参考这个https://docs.python.org/2/library/basehttpserver.html#more-examples
您必须定义自己的 keep_running()
条件。下面是我的示例:
import BaseHTTPServer
httpd = BaseHTTPServer.HTTPServer(('', 8000), BaseHTTPServer.BaseHTTPRequestHandler)
mylist = range(10)
while mylist:
httpd.handle_request()
mylist.pop() # remove last item of `mylist`
当您 运行 这段代码时,它将在端口 8000
上侦听。您向 localhost:8000
发出的每个请求都会从 mylist
中删除一个项目。当mylist
为空时,此服务器将终止。
我只想使用 python HTTPServer 处理有限数量的请求。
这里有一些关于我的架构的事情: 我有一个客户端去服务器并请求数据。 服务器 (pythonic HTTPServer) 有一个包含数据的列表。 每次客户端请求数据时,它都会获得列表中的下一项。 我希望服务器在发送完列表中的所有数据后停止。 我考虑过的解决方案是检查列表中的数据数量并仅提供此次数。 我必须注意只有一个客户端,因为我出于测试目的这样做。
如何实施? 我考虑过在发送所有命令时引发一个事件,这样一些线程会终止服务器,但也许您有更简单的方法。
提前致谢
所以你可能想参考这个https://docs.python.org/2/library/basehttpserver.html#more-examples
您必须定义自己的 keep_running()
条件。下面是我的示例:
import BaseHTTPServer
httpd = BaseHTTPServer.HTTPServer(('', 8000), BaseHTTPServer.BaseHTTPRequestHandler)
mylist = range(10)
while mylist:
httpd.handle_request()
mylist.pop() # remove last item of `mylist`
当您 运行 这段代码时,它将在端口 8000
上侦听。您向 localhost:8000
发出的每个请求都会从 mylist
中删除一个项目。当mylist
为空时,此服务器将终止。