A Django-sockjs-tornádó alapvetően egy vékony wrapper tetején sockjs-tornádó, ami miatt meghalt könnyű írni WebSocket alapú alkalmazásokat a tetején a sockjs WebSocket emulációs könyvtár.
Ezzel a wrapper akkor alapvetően hozzáférést minden mást, amire szükséged van a Django projekt, mint a modellek és a különböző beállításokat.
Mert meg kell futtatni a két folyamat (egy-egy runserver (vagy wsgi) és egy a socketserver) azt jelenti, hogy a két nagyon külön python folyamatok, így nem lehet olyan könnyen a dolgokat, mint regisztráció jeleket, és elindítsa abban az egyben folyamat, és azokat Tűz egy másik.
Első lépések
Hozzon létre egy osztályt valahol, hogy valahogy így néz ki:
a sockjs.tornado import SockJSConnection
osztály MyConnection (SockJSConnection):
& Nbsp; def on_open (self, igény szerint):
& Nbsp; menetben
& Nbsp; def on_message (self, message):
& Nbsp; menetben
& Nbsp; def on_close (self):
& Nbsp; menetben
Ezután meg kell tenni a loction ennek a beállítást a settings.py valahogy így:
SOCKJS_CLASSES = (
& Nbsp; "myproject.myapp.myfile.MyConnection",
)
Ezután a kiszolgáló elindításához egyszerűen futtasd:
python manage.py socketserver [--help]
Akkor még a rendszeres Django szerveren is egy külön terminál:
python manage.py runserver
Most meg kell tenni, hogy írjon a szaftos Javascript segítségével sockjs-kliens. Meg lehet kezdeni, hogy letölti a legújabb verziót minified a CDN.
Egy egyszerű alkalmazás, így nézhet ki:
zokni = new SockJS ("http: // localhost: 9999 / echo ');
sock.onmessage = function (e) {
& Nbsp; console.log (e.data);
};
sock.onclose = function () {
& Nbsp; console.log ("zárt :(");
};
sock.onopen = function () {
& Nbsp; console.log ("nyitotta:>");
& Nbsp; letTheMadnessBegin ();
};
funkciót letTheMadnessBegin () {
& Nbsp; // buta, de az ötlet
& Nbsp; sock.send (JSON.stringify ({
& Nbsp; name: $ ('# name "). Text (),
& Nbsp; üzenettel: $ ("input"). Val ()
& Nbsp;}));
}
Első fancy
Van egy rakás több dolgot lehet csinálni ezt a tanfolyamot. Például, akkor érdemes lehet felvenni valamilyen formában hitelesítést. Mivel a on_open handler megkeresés érkezik tudod használni, hogy kérjen request.get_cookie (), amely az olvasóra bízom, mint egy gyakorlatot.
Van egy kissé divatos például ebben a csomagban mellett például, amely lehet, hogy néhány ötletet. Ez egy teljesen működő chat alkalmazás, hogy csak működik.
Ez a csomag építését főként tálaljuk Koval elképesztő munka sockjs-tornádó, amely rengeteg példával és dokumentációt, amely segít. Például, hogy felsorolja, hogy a minta HAProxy konfiguráció, amely szükséges lehet, ha egyszer vegye be a projekt élni, mert nem tudja tartani kiteszik port 9999 a termelési rendszer.
követelmények :
- Python
- Django
Hozzászólás nem található