- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在用 python 编写一个简单的网络服务器。以下是我的代码的简化版本:
class StreamerHandler(SimpleHTTPRequestHandler):
def do_POST(self):
try:
length = int(self.headers.getheader('content-length'))
data = self.rfile.read(length)
self.send_response(200, "OK")
#process_data(data, self.client_address)
except Exception as inst:
logging.error(type(self).__name__ + "/" + type(inst).__name__ + " (" + inst.__str__() + ")")
class Streamer(TCPServer):
def __init__(self, overlay):
self.allow_reuse_address = True
TCPServer.__init__(self, ("", port), StreamerHandler)
我想做的是发送响应关闭 TCP 连接,然后运行可能需要很长时间才能完成的 process_data 方法。
有什么办法可以实现吗?我能想到的唯一解决方案是使用专用线程来处理。
最佳答案
我试过了,你实际上需要两个命令(按顺序)来关闭它:self.finish()
self.connection.close()
关于python - SimpleHTTPRequestHandler 在从 do_POST 方法返回之前关闭连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6594418/
我必须将一个参数传递给 SimpleHTTPRequestHandler 类,所以我使用类工厂来创建一个自定义处理程序,如下所示。 def RequestHandlerClass(applicatio
我想扩展 SimpleHTTPRequestHandler 并覆盖 do_GET() 的默认行为。我从我的自定义处理程序返回一个字符串,但客户端没有收到响应。 这是我的处理程序类: DUMMY_RES
我编写了一个简单的服务器来扩展 SimpleHTTPRequestHandler 如果我在不向服务器发出任何请求的情况下启动和停止它,我可以毫无问题地在同一端口上重新启动。 启动时,netstat 如
我正在用 python 编写一个简单的网络服务器。以下是我的代码的简化版本: class StreamerHandler(SimpleHTTPRequestHandler): def do_P
我最近尝试实现 SimpleHTTPRequestHandler 以根据 this 接受 AJAX 请求. 尽管从客户端接收请求时一切似乎都正常,但我无法将任何内容发送回客户端,当我尝试 self.w
在重载 SimpleHTTPRequestHandler 时,我的函数在 self.rfile.read() 上阻塞。读取前如何查看rfile中是否有数据?或者,是否存在在缺少数据时返回的非阻塞读取调
我有以下用于网络服务器的代码。我遇到一个问题,httpd.log 中没有打印任何内容 - 我不知道为什么。文件已创建,如果我将 print() 语句添加到 log_message() 中,它会被打印出
当我将 HTTP/1.1 与 SimpleHTTPRequestHandler 一起使用时,加载拉入其他资源的页面将在第二个资源之后挂起。 这是一个小型复制器: from SimpleHTTPServ
我是一名优秀的程序员,十分优秀!