Les Websockets. La perte d'internet, des messages keep-alive, application architecture, etc

Bien, il y a un certain nombre d'informations sur les websockets. La technologie elle-même est incroyable, il n'y a aucun doute à ce fait. Et avant que je commence à l'utiliser dans mon application, je veux juste la communauté pour répondre à ces questions:

"...afin de maintenir la présence, l'application peut envoyer des messages keep-alive sur le WebSocket pour l'empêcher d'être fermée en raison d'un délai d'inactivité..."

"...idéalement une future version de WebSocket soutiendra délai d'attente de la découverte, de sorte qu'il peut indiquer à l'application de la période de messages keep-alive..."

  1. C'est comme du deja vu. Précédemment, nous avons dû interroger le serveur une fois qu'un %period_time% pour obtenir la nécessaire mise à jour de l'information. Avec les websockets, nous avons à interroger le serveur websocket une fois un %period_time% avec messages keep-alive assurez-vous que la connexion internet est toujours en vie /le serveur websocket est encore à travailler. Quel est le bénéfice?

    Et une autre chose au sujet de ces messages keep-alive. Protocole Websocket a l'avantage d'utiliser moins de trafic que HTTP(S). Si nous envoyons des messages keep-alive, il semble que le trafic avantage disparaît. Ou peut-être pas?

  2. Comment dois-je gérer la la perte d'internet dans mon application si-je utiliser les websockets? Je veux dire que la situation réelle au moment de la connexion internet est soudainement perdu (je ne veux pas de "navigator.hors ligne" de l'événement qui s'est passé). Dois-je utiliser une sorte de setTimeout-fonction pour rechercher des messages keep-alive ou est-il une meilleure façon de gérer cette situation?

  3. RESTE nous donne une compréhension claire de la façon dont une application devrait fonctionner et comment les demandes devrait ressembler. Quelle est la meilleure façon de le faire en websocket-alimenté apps? Dois-je juste (dire) JSON des messages codés avec la demande.champ d'action il? Et comment l'application d'effectuer des MISES-demandes? Il y a des URL des ressources en RESTE modèle pour gérer cela, alors je devrais utiliser la combinaison de ces approches ou peut-être est-il qch de plus simple?

  • Cette question n'est pas un bon ajustement pour notre Q&Un format. Nous attendons des réponses aux impliquent généralement des faits, des références, ou une expertise spécifique; cette question sera susceptible de solliciter les avis, les débats, les arguments, les bureaux de vote, ou de longues discussions.
  • je pensais que stackoverflow est la meilleure façon d'obtenir des réponses au sujet de cette technologie. Je veux juste écouter les gens qui connaissent les réponses à ces questions. En fait, pas de débat.