我正在编写一个简单的 python3 网络服务器。我尝试了各种教程,一切都很好。尽管如此,还是有一个我不明白的区别。
在一个教程中,他们使用 HTTPServer 如下:
server = HTTPServer(('', PORT_NUMBER), myHandler)
server.serve_forever()
在另一个教程中,他们使用 socketserver.TCPServer 如下:
with socketserver.TCPServer(('', PORT_NUMBER), myHandler) as httpd:
httpd.serve_forever()
两种方法有什么区别?我所需要的只是一个简单的网络服务器,它能够通过 POST 接收 JSON 文件并使用另一个 JSON 进行响应。在这两种情况下,我都会使用相同的处理程序:
class myHandler(BaseHTTPRequestHandler):
def _set_headers(self):
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
def do_GET(self):
self._set_headers()
self.wfile.write("{dummy:'dummy'}")
def do_POST(self):
# Doesn't do anything with posted data for this example
self._set_headers()
self.wfile.write("{dummy:'dummy'}")
其中一种方法是否更适合我的需求?有没有更好的方法来编写这个服务器以满足我的需要?
感谢您的帮助和时间!
翻翻过去那场雪
至尊宝的传说
随时随地看视频慕课网APP
相关分类