1 Hva er Comet?
Først av alt, forklare om Comet server push-teknologi, skyldes iboende feil HTTP-protokollen - uten vilkår, kan ikke klienten som er basert på Socket's C / S-programmet for å oppnå den samme skjermen kan bare ta initiativ til å be klienten, tjeneren respons. Serveren kan ikke ta initiativ i tid for å returnere data til klienten. For å løse dette problemet Philip McCarthy gjorde Comet på teknologiske løsninger. Forfatteren av dette ved en lang link til server-side push data til klienten innen rimelig tid, at teksten i Low Latency Data for leseren (lav latens data for leseren)-teknologi kjent som Comet.
Den kan brukes på enkelte av aktualitet av data krever en høyere systemisk
- Overvåkingssystem: bakgrunnen maskinvare hot plug, LED, temperatur, spenning endringer;
- Instant messaging-systemer: andre brukere logger seg på, send en melding;
- Prisforslag system: bakgrunnen databasen endres;
- Flere populære de siste Web Games likning
2, av Comet
Først av alt, for B / S kan oppnå tilsvarende funksjonalitet i den tekniske beskrivelsen for om:
a, Flash + Javascript: Fordi Flash kan bruke XMLSocket og Javascript kan kalle sitt grensesnitt med server-side-kontakter for å kommunisere.
b, Java Applet: Java-applet, tilsvarende siden i Java-programmet og tjeneren kommunikasjon ved hjelp av Socket selvfølgelig ikke noe problem.
c, Ajax Poll: gjennom valglokale syklus på serveren sender forespørselen, avhengig av serveren respons for å fastslå om dataene endres.
d, Comet: etablering av en lang tilkobling, serveren push data i tide. Som er delt inn i Ajax lange polling og streaming modus iframe.
Deretter sammenlignet vi disse forskjellige typer teknologi for å utføre et
| Flash + Javascript | JavaApplet | Ajax Poll | Comet |
| Protokolltype | Socket | HTTP |
| Støtt miljøet [1] | Installer Flash Player Plugin | Installer JRE | Ingen | Ingen |
| Port restriksjoner | Ikke-80 porter, i henhold til systemet og brannmur restriksjoner | 80 porter, den grunnleggende ubegrenset |
| Tråd grense | Av systemet begrenser antall tilgjengelige porter | Ingen | Begrenset av nettleseren tråden, IE standard høyeste tråd på samme domene som 2, hvorfor de anbefaler den beste lange kobler tråden er ikke mer enn ett |
| Andre | Gjennom veggen kan ikke automatisk | JS kan ikke bruke de returnerte resultatene å oppdatere JavaApplet HTML | Ikke lange valglokale på grunn av tid be, kan serveren ikke avgjøre om det blir oppdatert ofte forespørsel, returnerte svaret for mange unyttig og sløsing med ressurser server. Innen avspørringsintervall tidspress, kan påvirke punktligheten av data. | Lange okkupasjonen av serveren tråden (det finnes programmer for server-side løsninger, slik som Jetty6 container, den nyeste Tomcat6 også optimalisert), når du bruker iframe flyten modus fremdriften displayet til nettleseren har blitt lastet. (Google ingeniører har til å løse problem med å laste den tilhørende IE ActiveX) |
[1] I tillegg JavaApplet trenger en nettleser utenfor JS støtte.
3, for å oppnå Comet
Åpen kildekode pushlet rammeverk, DWR2 hjelp Klubb og beholder Jetty6/Tomcat6 kombinasjon av betong realisering av referanse dokumentasjon se følgende
4, Comet eksempel
5, referanse dokumentasjon
Comet: en lang forbindelse basert på HTTP "server push"-teknologi
Ajax for Java-utviklere: Skriv Scalable Comet-programmer med Jetty og Direct Web Remoting ( kinesisk )
Tomcat 6-Avanserte IO og Tomcat6
IBM teknologien bak de to første artiklene har et stort antall referanser
Recent Comments