Dans mon application Tornado dans certains cas certains clients se déconnectent du serveur mais mon code actuel ne détecte pas que le client est déconnecté du serveur. J'utilise actuellement ping pour savoir si le client est déconnecté. ici est mon ping pong code:comment régler le délai d'attente de connexion en tornade?
from threading import Timer
class SocketHandler(websocket.WebSocketHandler):
def __init__(self, application, request, **kwargs):
# some code here
Timer(5.0, self.do_ping).start()
def do_ping(self):
try:
self.ping_counter += 1
self.ping("")
if self.ping_counter > 2:
self.close()
Timer(60, self.do_ping).start()
except WebSocketClosedError:
pass
def on_pong(self, data):
self.ping_counter = 0
maintenant je veux mettre SO_RCVTIMEO en tornade au lieu d'utiliser la méthode de ping-pong. Quelque chose comme ceci:
sock.setsockopt(socket.SO_RCVTIMEO)
Est-il possible de définir SO_RCVTIMEO dans Tornado pour les clients proches du serveur après un délai d'attente spécifique?
@amn comment puis-je utiliser 'socket.SO_RCVTIMEO' dans Tornado? Je lis les docs mais ne peux pas trouver quelque chose d'utile. – shotgunner