2010-05-13 14 views
6

Come devo implementare l'inversione AJAX durante la creazione di un'applicazione di chat in Django? Ho guardato Django-Orbited e, da quanto ho capito, questo mette un server comet davanti al server HTTP. Questo sembra perfetto se sto solo eseguendo il server di sviluppo Django, ma come funziona quando avvio l'applicazione da mod_wsgi? Come fa avere il server orbitale che gestisce ogni scala di richiesta? È questo l'approccio corretto?Come devo implementare AJAX inverso in un'applicazione Django?

Ho esaminato un altro approccio (polling lungo) che sembra funzionare, anche se non sono sicuro di ciò che sarebbe coinvolto. Il client avrebbe richiesto una pagina che avrebbe vissuto nella sua stessa discussione, in modo da non bloccare il resto dell'applicazione? Potrebbe anche bloccare? Lo script richiesto dal client non dovrebbe interrogare continuamente per ottenere informazioni?

Quale approccio è più appropriato? Quale è più portatile, scalabile, sano, ecc? Ci sono altri buoni approcci a questo (a parte il polling dei client per i messaggi) che ho trascurato?

risposta

1

Che ne dici di usare il fantastico nginx push module?

+0

Come hai finito per procedere con questo allora? – jMyles

1

Hai dato un'occhiata a Tornado?

L'utilizzo di WSGI per le app comet/long-polling non è una buona scelta perché non supporta le richieste non bloccanti.