• [^] # Re: Ma compréhension de la techno

    Posté par (site web personnel) . En réponse au journal Les websockets sont pas secioures. Évalué à 6.

    > Se mettre en idle garde-t-il une connexion ouverte entre le client et le serveur ?

    Oui, la connexion reste ouverte.

    > N’y-a-t-il pas de risque de sur-charge à avoir un tel type de fonctionnalité ?

    Ça consomme un petit peu de ressources, mais bien fait, ça reste négligeable.

    > En idle comment fait le serveur pour savoir si le client est toujours en attente ou s’il est parti, y compris à cause d’un arrêt inopiné (donc sans avoir pu prévenir le serveur) ?

    Il peut faire confiance à TCP pour s'occuper de ça ou envoyer de temps à autres un ping (genre une fois toutes les 10 minutes).

    > Du coup les serveurs ne risquent-ils pas de placer un timeout assez réduit, forçant les clients à régulièrement notifier les serveurs de leur présence... que devient alors l’intérêt de la notification serveur→client ?

    C'est relativement coûteux d'établir une connexion. Il y a d'abord le 3-way handshake de TCP, puis éventuellement l'établissement de la session SSL (dans le cas d'HTTPS ou d'IMAPS par exemple) et surtout, ça demande au serveur de retrouver le contexte associé à ce client (vérifier des crédentiels, aller chercher des informations en base de données ou dans un fichier, etc.).