Comet w Django
Wykorzystanie cometa w aplikacjach www polega na "połączeniu" standardowego serwera HTTP odpowiedzialnego za działanie aplikacji z serwerem cometa. Porozumiewanie się aplikacji www z cometem zazwyczaj odbywa się poprzez żądania wysyłane przez ajaxa. Najprostsze połączenie orbited ze zwykłym serwerem HTTP polega na wykorzystaniu funkcji proxy w orbited. Wystarczy w katalogu, z którego go uruchamiamy stworzyć plik orbited.cfg o zawartości:
[global] proxy.enabled = 1 proxy.keepalive = 0 [proxy] /chat -> ORBITED / -> http://127.0.0.1:8080
Tworzymy projekt django wyświetlający jeden szablon (bez bazy danych). Tworzymy szablon chat.html: Powyższy szablon wyświetli "formularz" czata - pole na wiadomość i nick oraz okno treści. Ramka "events" posłuży do przesyłania zdarzeń. W katalogu na pliki statyczne dodajemy chat.css: Oraz chat.js: Plik ajaxroutines.js pochodzi ze strony dynamicdrive.com, wystarczy go pobrać. Za jego pomocą w łatwy sposób obsłużymy żądania GET wysyłane do widoków aplikacji wysyłającej wiadomość (funkcja send_msg) oraz dodającej nowego użytkownika czatu (funkcja connect) stosując poniższe mapowanie odnośników w urls.py: Kod widoków: Teraz uruchamiamy serwer django i orbited. Wystarczy otworzyć dwa okna przeglądarki ze stroną http://localhost:8000/. Zobaczymy "formularz" czatu. Na początek trzeba podać nick i "dołączyć" do czatu klikając w przycisk obok. Możemy już wysyłać wiadomości. Jeżeli w drugim oknie podamy inni nick i dołączymy do czatu to odpowiednia informacja pojawi się w pierwszym oknie. Teraz czat będzie w czasie rzeczywistym przekazywał wiadomości między tymi dwoma oknami - klientami serwera orbited.

RkBlog