Django-sockjs-tornádo je v podstatě tenký obal na vrcholu sockjs-tornáda, které umožňuje mrtvé snadné psát WebSocket aplikace založené na horní části sockjs WebSocket emulace knihovny.
S tímto obalem jste v podstatě mít přístup ke všem ostatním, co potřebujete z projektu Django jako vaše modely a vaše různá nastavení.
Vzhledem k tomu je třeba spustit dva procesy (jeden pro runserver (nebo WSGI) a jeden pro socketserver), znamená to, že dva jsou skutečně oddělené python procesy, takže nelze snadno dělat věci, jako je registrace signály a spouštět je v jednom procesu a mít je požár v jiném.
Začínáme
Vytvořte třídu někde, že vypadá nějak takto:
od sockjs.tornado dovozu SockJSConnection
třída MyConnection (SockJSConnection):
& Nbsp; def on_open (self, dotaz):
& Nbsp; průchod
& Nbsp; def on_message (self, zprávy):
& Nbsp; průchod
& Nbsp; def on_close (self):
& Nbsp; průchod
Dále je třeba dát dostupné lokalitě na to v prostředí, ve vašem settings.py něco takového:
SOCKJS_CLASSES = (
& Nbsp; "myproject.myapp.myfile.MyConnection"
)
Dále, pro spuštění serveru stačí spustit:
python manage.py socketserver [--help]
Budete ještě v pravidelném Django serveru také v samostatném terminálu:
python manage.py runserver
Nyní byste měli být schopni napsat šťavnaté Javascript pomocí sockjs-klienta. Můžete začít tím, stažením nejnovější minified verzi z CDN.
Jednoduchá aplikace může vypadat například takto:
ponožka = nové SockJS ("http: // localhost: 9999 / echo ');
sock.onmessage = funkce (e) {
& Nbsp; console.log (e.data);
};
sock.onclose = function () {
& Nbsp; console.log ("uzavřená :( ');
};
sock.onopen = function () {
& Nbsp; console.log ("otevřený:>");
& Nbsp; letTheMadnessBegin ();
};
Funkce letTheMadnessBegin () {
& Nbsp; // hloupé, ale máte představu
& Nbsp; sock.send (JSON.stringify ({
& Nbsp; název:. $ ('Name #'), text (),
& Nbsp; zpráva:. $ ("Input"), val ()
& Nbsp;}));
}
Jak fantazie
Je tu shitload dalších věcí, které můžete dělat s tím samozřejmě. Například chcete přidat nějakou formu ověřování. Vzhledem k tomu, on_open manipulátor obdrží požadavek, který lze použít k požádat o request.get_cookie (), které je ponecháno na čtenáři jako cvičení.
Tam je o něco více fantazie příklad součástí tohoto balíčku za příklad, který byste mohli dostat nějaké nápady. Je to aplikace plně funkční chatu, která prostě funguje.
Tento balíček je postaven především na Podáváme Koval má úžasnou práci na sockjs-tornádo, které má spoustu dalších příkladů a dokumentace, které vám mohou pomoci. . Například uvádí na vzorku konfiguraci HAProxy, které byste mohli potřebovat, až budete mít váš projekt žít, protože není možné, aby odhalil portu 9999 v systému výroby
Požadavky na :
- Python
- Django
Komentáře nebyl nalezen