我正在尝试通过我的java代码来启动一个用python编写的Http服务器。起初,它似乎工作得很好,但在8次请求后,它再次关闭。我做错了什么?服务器按如下方式启动:
ProcessBuilder builder = new ProcessBuilder("python", "src\\main\\java\\python\\HttpHandler.py");
Process p = builder.start();在python代码中,服务器如下所示:
class HttpHandler(BaseHTTPRequestHandler):
def do_GET(self):
#handle get request
def do_POST(self):
#handle post request
with HTTPServer(('', 8000), HttpHandler) as server:
server.serve_forever()发布于 2021-10-06 20:53:09
从注释中可以看出,问题是由服务器进程写入其标准输出或标准错误流,以及Java代码不能从这些流中读取而导致的。最终,缓冲区被填满,服务器进程被阻塞,因为它无法写入缓冲区。覆盖http日志函数修复了该问题。
https://stackoverflow.com/questions/69442278
复制相似问题