检测客户端在gevent内断开连接

时间:2012-04-18 17:58:23

标签: python exception-handling gevent disconnect

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

1 个答案:

答案 0 :(得分:2)

如果您从WSGI应用程序返回队列,我不知道该怎么做(如果我理解你正在做什么)。

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

def application(environ, start_response):
    write = start_response('200 OK', [])
    try:
       write("response")
    except socket.error, ex:
       print ex
相关问题