1 Che cosa è la cometa?
Prima di tutto, spiegano sulla tecnologia push server Comet, a causa di difetti inerenti il protocollo HTTP - senza condizioni, il cliente non può come basata su Socket C / programma S per ottenere lo stesso monitor può solo prendere l'iniziativa di richiesta del cliente, la risposta del server. Il server non può prendere l'iniziativa in tempo per restituire i dati al client. Per risolvere questo problema Philip McCarthy fatto Comet le soluzioni tecnologiche. L'autore di questa da un lungo collegamento ai dati di spingere il lato server per i client in modo tempestivo, che il testo della bassa latenza dei dati per il browser (dati a bassa latenza per il browser), tecnologia conosciuta come la cometa.
Può essere applicato ad alcuni tempestività dei dati richiedono una maggiore sistemico
- Sistema di controllo: l'hardware plug sfondo caldo, LED, temperatura, variazioni di tensione;
- Sistemi di instant messaging: altri utenti accedono, inviare un messaggio;
- sistema di Instant citazione: il database di sfondo è cambiato;
- Più popolare recenti Giochi equazione Web
2, della cometa
Prima di tutto, per il B / S può ottenere una funzionalità simile nella descrizione tecnica di:
a, Flash + Javascript: Perché Flash è possibile utilizzare XMLSocket e JavaScript può chiamare la sua interfaccia con il server-side socket per comunicare.
b, Applet Java: applet Java, la pagina equivalente nel programma Java e la comunicazione server utilizzando il Socket naturalmente, nessun problema.
c, Ajax Sondaggio: attraverso il ciclo di polling sul server invia la richiesta, a seconda della risposta del server per determinare se i dati modifiche.
d, Comet: la creazione di una connessione a lungo, i dati push server in modo tempestivo. Che è diviso in polling lungo l'Ajax e la modalità streaming iframe.
Quindi, abbiamo confrontato questi diversi tipi di tecnologia di condurre un
| Flash + Javascript | JavaApplet | Ajax Sondaggio | Cometa |
| Tipo di protocollo | Presa di corrente | HTTP |
| Supporto per l'ambiente [1] | Installare il Flash Player Plugin | Installazione di JRE | No | No |
| Port restrizioni | Non-80 porti, soggetti al sistema di firewall e restrizioni | 80 porti, l'illimitato di base |
| Thread limite | Numero limitato di porte utilizzate dal sistema | No | Limitato dal thread browser, IE il filo massimo predefinito lo stesso dominio del 2, perché essi raccomandano il filo che collega la migliore non è più di una |
| Altro | Attraverso il muro non può essere automaticamente | JS non è possibile utilizzare i risultati restituiti per aggiornare JavaApplet HTML | polling non di lungo, a causa di richiesta di tempo, il server non può determinare se non vi viene aggiornato frequentemente richiesta, risposta restituita troppi inutili e spreco di risorse del server. Con il polling vincoli di intervallo di tempo, possono influire sulla tempestività dei dati. | lunga occupazione dei thread del server (ci sono programmi per le soluzioni server-side, come Jetty6 container, gli ultimi Tomcat6 inoltre ottimizzata), quando si utilizza la modalità di flusso iframe la visualizzazione di avanzamento per il browser è stato caricato. (Ingegneri di Google hanno per risolvere il problema caricando il corrispondente IE ActiveX) |
[1] Inoltre JavaApplet bisogno di un browser al di fuori del supporto JS.
3, per raggiungere la cometa
Open source pushlet quadro, DWR2 usando Dojo e contenitore Jetty6/Tomcat6 combinazione di concreta realizzazione di documentazione di riferimento si veda il seguente
4, esempio Comet
5, la documentazione di riferimento
Comet: una connessione a lungo basato su HTTP "," server technology push
Ajax per gli sviluppatori Java: Scrivere applicazioni scalabili Comet con pontile e Direct Web Remoting ( cinese )
Tomcat 6 e Advanced IO Tomcat6
La tecnologia IBM dietro i primi due articoli hanno un gran numero di riferimenti
Commenti recenti