首页 > 解决方案 > 使用 Python HTTPServer 模块时如何解决通信缓慢的问题?

问题描述

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

我在互联网上检查了不同的解决方案,但我的代码中没有发现任何异常。

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

服务器代码:

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 屏幕截图

如果有人能澄清我做错了什么,如果有什么问题,我将不胜感激。“重组PDU的TCP段”正常吗?

标签: pythontcphttp-post

解决方案


推荐阅读