2009-05-11 7 views
5

Sto lavorando su una funzionalità messasing privato per il mio sito, c'è un modo per ottenere le notifiche push dal server, che l'utente ha ricevuto un nuovo messaggio?chat in tempo reale con notifica push

l'unica tecnica che conosco è quella di interrogare costantemente il server tramite ajax per vedere se ci sono nuovi messaggi e, se necessario, ricaricare la finestra di messaggistica.

grazie per qualsiasi feedback!

UPD: finora sono state identificate le seguenti direzioni:

1) Comet
2) BOSH - bidirezionali-stream su HTTP sincrono
3) XMPP - questo è ciò che Google Talk si basa su

+1

solo un BOSH nota e XMPP vanno di pari passo. – Kinlan

risposta

5

Si potrebbe voler esaminare XMPP e Bosh. Molto comet like e ejabberd combinati con nginx possono mantenere 1000 di connessioni su una scatola molto piccola.

Dai un'occhiata a uno dei miei progetti www.vooices.us per vedere cosa abbiamo fatto con XMPP e BOSH.

http://www.ejabberd.im/

http://github.com/ssoper/jquery-bosh/tree/master JQueryBosh - per consentire l'accesso rapido e facile a XMPP su HTTP

È relativly facile da configurare e installare.

Paul.

+0

Ma funziona, per esempio, su Internet Explorer? –

+0

Sì, funziona molto bene. Ad essere onesti non ho provato in IE6, ma ho fatto IE7 e IE8 – Kinlan

+0

La cosa buona è che è tutto javascript dal punto di vista del cliente. – Kinlan

0

Non c'è alcun modo per il server di inviare informazioni al client, ma è sempre possibile utilizzare Comet. Sì, si sta interrogando il server, ma non costantemente. Mantieni ogni connessione aperta per circa 30 secondi (è l'intervallo che ho sempre visto usato) e poi apri una nuova connessione quando necessario.

MODIFICA: Adobe Flash consente connessioni persistenti al server, quindi è possibile utilizzarlo. Vedi this article per i dettagli.

+0

Sto cercando di badoo.com, stanno usando alcuni plug in flash a ricevere la notifica, mi chiedo se non v'è alcun codice sorgente disponibile .. – Andy

+0

Ah, sì, non ci ho pensato. Flash consente connessioni persistenti, quindi questa è un'opzione. –

+0

Seriamente, guarda in XMPP e BOSH. – Kinlan

0

Ci sono un sacco di buone biblioteche che vi aiutano a fare questo

XMPP - BOSH è una buona combinazione che uso sui miei siti web

server XMPP

ejabberd, Openfire io uso ejabberd

È possibile utilizzare Strophe con ejabberd per catturare le notifiche in javascript. Se si desidera inviare notifiche dal codice

Non ci sono librerie come JAXL e XMPPHP che consentono di fare questo, ma questo è in PHP.