捕获客户端断开连接的事件! - Gevent/Python

Rad*_*Hex 7 python django long-polling gevent

我正在使用长轮询与gevent聊天.我正在等待在聊天中发布新消息时使用Event.wait().


我想处理客户端断开某些功能的场合:

例如,返回"客户端已断开连接"作为其他聊天用户的消息


这可能吗?=)

Den*_*nko 1

这取决于您使用哪个 WSGI 服务器。AFAIK gevent.wsgi 当客户端关闭连接时不会以任何方式通知您的处理程序,因为 libevent-http 不会这样做。然而,使用 gevent.pywsgi 应该是可能的。您可能需要启动一个额外的 greenlet 来监视套接字状况并以某种方式通知运行处理程序的 greenlet,例如通过终止它。不过,我可能会缺少一种更简单的方法来做到这一点。