2

如果我使用队列生成响应数据,我应该如何检测客户端是否与我的 gevent 网络服务器断开连接?现在我不断收到Broken pipe错误,但我不太明白我应该在哪里捕获这个异常(回溯只包括 gevent 自己的pywsgi.pysocket.py文件,没有我的代码)。谢谢。

4

1 回答 1

2

如果您从 WSGI 应用程序返回队列,我不确定该怎么做(如果我理解正确的话)。

如果您可以以不同的方式构建应用程序并使用 WSGI 的 write(),那么您可以像这样捕获套接字异常:

def application(environ, start_response):
    write = start_response('200 OK', [])
    try:
       write("response")
    except socket.error, ex:
       print ex
于 2012-04-18T20:39:13.613 回答