• [^] # Re: Onglets et échanges avec le serveur, le cas LinuxFr.org...

    Posté par (site web personnel) . En réponse à la dépêche Communiquer avec le serveur depuis un navigateur Web : XHR, SSE et WebSockets. Évalué à 5. Dernière modification le 18 avril 2021 à 16:34.

    Ah oui, vous aviez peut-être le problème de la limite des 6 connexions simultanées à un même hôte. On a rencontré le problème dans Tracim l’année dernière. Depuis un an, on a un système de communication temps réel entre le serveur et le client, à l’aide d’un objet EventSource (et donc connexion permanente). Comme on est en HTTP 1.1, au-delà de 6 onglets ouverts, plus rien ne chargeait, impossible d’ouvrir un onglet de plus : page blanche, chargement infini. Forcément, le navigateur refusait de faire une connexion de plus et les autres ne se finissaient pas. On a brièvement essayé HTTP 2 et ça réglait le problème mais on a rencontré des problèmes de blocages serveur comme ceux décrits dans la dépêche.

    Donc on a implémenté presque ce que propose Mouns dans ce rapport, sauf qu’on n’utilise pas le localStorage, mais broadcast-channel (qui fait effectivement une élection de leader, relancée automatiquement quand l’onglet leader disparait). Pour les curieux c’est géré ici.

    Mais LinuxFr est en HTTP2, vous observez toujours ce problème ?