2009-02-07 17 views
5

Ho sentito che posso usare Comet come tecnologia push server insieme al mio codice Ajax per aumentare le prestazioni delle mie applicazioni web.Compatibilità di Comet con la tecnologia corrente

Quanto matura questa tecnologia Comet?

È supportato da tutti i server Web, i linguaggi di programmazione e i browser?

Quali sono gli svantaggi dell'utilizzo di Comet?

risposta

5

È maturo, anche se penso che dovresti considerarlo più una tecnica che una tecnologia.

Tutti i server Web lo supportano per quanto ne so, anche se sarà necessario ricercare e configurare il proprio server Web specifico se si sta costruendo un'applicazione comet poiché le richieste sulle risorse sono leggermente diverse. Nello specifico, ci saranno molte più connessioni aperte simultanee al tuo server. In termini di supporto del linguaggio di programmazione, se la lingua del server prescelta dispone di un meccanismo di blocco o di attesa, è possibile supportare server-push. Tutti i browser supportano anche questo, dal punto di vista di un browser, questa è semplicemente una connessione http (s) che richiede molto tempo per tornare.

Ci sono un paio di svantaggi, nel mondo dei browser, il più grande è probabilmente il fatto che alcuni browser limitano il numero di connessioni aperte a un URL specifico a due. Quindi, se si dispone di una connessione di blocco del server aperta in attesa di alcuni dati inviati, si è in una sola connessione disponibile per il browser per ottenere dati dal server. Questo può essere mitigato diffondendo le risorse su domini di secondo livello per consentire al browser di aprire più connessioni.

+0

Le comete funzioneranno su tutti i browser? Ci sono (vecchi) browser che non caricano il contenuto nel DOM in modo incrementale? – Pacerier

1

Comet era effettivamente in uso prima che iniziasse tutto il clamore su AJAX: è solo un nuovo nome per una vecchia idea. Le persone hanno utilizzato iframe nascosti per emulare il server che spingeva a lungo senza problemi.

+0

Hai un riferimento a "lavorare per lungo tempo senza problemi"? Le comete funzioneranno su tutti i browser? Ci sono (vecchi) browser che non caricano il contenuto nel DOM in modo incrementale? – Pacerier

2

"Supportato da tutti i server Web" è un'affermazione un po 'strana. La maggior parte delle implementazioni sono un server di per sé e dovrai trovare un server che si integri con la lingua che desideri utilizzare.

Detto questo, lavoro in un'azienda che ne ha costruito uno da integrare con un server, in particolare IIS.

Se non si vuole perdere tempo che fare con l'integrazione del server (si tratta di linguaggi diversi, la manipolazione di scala, ecc), controlla websync - il servizio consente di integrare qualsiasi lingua facilmente, visto che è ospitato, ma supporta proxying richieste tramite il proprio server in modo da poter aggiungere la propria logica aziendale, la registrazione, l'autorizzazione, ecc.