使用Python HTTPServer模块时,如何解决通信缓慢的问题?

时间:2019-01-21 14:22:27

标签: python tcp http-post

我正在整理一个http-post服务器客户端示例,以便从客户端向处理多个连接的服务器发送和请求数据。我正在使用标准库中的HTTPServer模块。该代码似乎可以正常工作,但通信会随机降低。我已经使用Wireshark检查了通信流量,可以看到一些奇怪的消息。

我在Internet上检查了不同的解决方案,但在代码中未发现任何异常。

客户端代码只是一个简单的http发布请求

服务器代码:

class Handler(BaseHTTPRequestHandler):
    def do_POST(self):
        content_length = int(self.headers['Content-Length'])
        body = self.rfile.read(content_length)

        data = {
            'ids': [5, 6]
        }

        self.send_response(200)
        self.send_header('Content-type', 'application/json')
        self.end_headers()

        self.wfile.write(json.dumps(data).encode())

        return

class ThreadedHTTPServer(ThreadingMixIn, HTTPServer):
    """Handle requests in a separate thread."""

test = HTTPServer((SV_HOST, SV_PORT), Handler)
test.timeout = 5

print('Starting server, use <Ctrl-C> to stop')
test.serve_forever()

这是我看到的Wireshark消息:

Wireshark GUI screenshot showing various messages

如果有人可以澄清我在做什么错,如果有什么错,我将不胜感激。 “重组后的PDU的TCP段”正常吗?

0 个答案:

没有答案