' Cometa ' è un approccio che consente di simulare la comunicazione di rete in stile push su una richiesta senza stato- protocollo di risposta, tipicamente HTTP. È una soluzione al problema che un server HTTP non può attivamente inviare messaggi a un client: l'unico modo per il server di ottenere dati dal client è rispondere a una richiesta.
L'approccio alla cometa utilizza "lunghi sondaggi" per ottenere i dati spinti; funziona così:
Il client - invia la richiesta al server, con un timeout molto lungo
Il server - mantiene la connessione aperta, ma non risponde immediatamente
- non appena il server vuole inviare qualcosa, risponde alla richiesta in sospeso
Il client - , dopo aver ricevuto ed elaborato la risposta, invia immediatamente la richiesta successiva
Se questo è ciò che fa la tua soluzione, allora è giustificato chiamarla una soluzione 'cometa'.
Il problema più importante della comunicazione in stile comet è che il server deve essere preparato per mantenere una quantità enorme di richieste aperte contemporaneamente: se hai 1000 utenti collegati al tuo sito, avrai 1000 richieste in sospeso, tutto il tempo. Inoltre, i timeout e i problemi di rete (connessioni interrotte, ecc.) Possono rendere le soluzioni di cometa abbastanza inaffidabili.
Per quanto riguarda le alternative:
- puoi compromettere il polling breve in stile heartbeat (il client invia un heartbeat ogni x secondi, il server risponde con qualsiasi dato disponibile)
- puoi provare WebSockets , anche se il supporto del browser non è l'ideale
- puoi decidere di scendere dalla piattaforma web e creare invece un'applicazione desktop
- puoi trovare un plug-in del browser che fornisce la comunicazione asincrona server-push