Django-sockjs-tornado is basies 'n dun wrapper op die top van sockjs-tornado wat maak dit dood eenvoudig websocket gebaseerde programme op die top van die sockjs Websocket nydigheid biblioteek te skryf.
Met hierdie wrapper jy basies toegang tot alles wat jy nodig het van jou Django projek het soos jou modelle en jou verskillende instellings.
Omdat jy nodig het twee prosesse (een vir runserver (of wsgi) en een vir socketserver) uit te voer, beteken dit dat die twee werklik is afsonderlike luislang prosesse, sodat jy kan nie maklik dinge doen soos die registrasie van seine en die sneller hulle in een proses en het hulle vuur in 'n ander.
Aan die begin
Skep 'n klas iewers wat lyk iets soos hierdie:
van sockjs.tornado invoer SockJSConnection
klas MyConnection (SockJSConnection):
& Nbsp; def on_open (self, versoek):
& Nbsp; pass
& Nbsp; def on_message (self, boodskap):
& Nbsp; pass
& Nbsp; def on_close (self):
& Nbsp; pass
Volgende, moet jy die loction van hierdie om te sit in 'n instelling in jou settings.py iets soos hierdie:
SOCKJS_CLASSES = (
& Nbsp; 'myproject.myapp.myfile.MyConnection',
)
Volgende, die bediener te begin eenvoudig hardloop:
python manage.py socketserver [help uit te voer]
Jy sal nog steeds jou gereelde Django bediener te in 'n aparte terminale:
python manage.py runserver
Nou moet jy in staat wees om die sappige Javascript te skryf deur gebruik te maak sockjs-kliënt. Jy kan begin deur die aflaai van die nuutste minified weergawe van die CDN.
'N eenvoudige app kan lyk soos hierdie:
sokkie = nuwe SockJS ('http: // localhost: 9999 / ECHO);
sock.onmessage = funksie (e) {
& Nbsp; console.log (e.data);
};
sock.onclose = funksie () {
& Nbsp; console.log (geslote :( ');
};
sock.onopen = funksie () {
& Nbsp; console.log (oopgemaak:> ');
& Nbsp; letTheMadnessBegin ();
};
funksie letTheMadnessBegin () {
& Nbsp; // dom, maar jy kry die idee
& Nbsp; sock.send (JSON.stringify ({
& Nbsp; naam:. $ ('# Naam') teks (),
& Nbsp; n boodskap:. $ ('Input') val ()
& Nbsp;}));
}
Aan fancy
Daar is 'n shitload meer dinge wat jy kan doen met hierdie natuurlik. Byvoorbeeld, wil jy dalk 'n vorm van verifikasie te voeg. Sedert die on_open hanteerder 'n versoek ontvang wat jy kan gebruik om dit te vra vir request.get_cookie () wat aan die leser as 'n oefening gelaat word.
Daar is 'n bietjie meer fancy voorbeeld ingesluit in hierdie pakket onder voorbeeld wat jy kry 'n paar idees. Dit is 'n ten volle werk chat program wat net werk.
Hierdie pakket is hoofsaaklik gebou op te dien Koval se ongelooflike werk sockjs-tornado wat baie van die voorbeelde en dokumentasie wat jou kan help. . Byvoorbeeld, dit sit 'n monster HAProxy opset wat jy dalk nodig het wanneer jy neem jou projek leef omdat jy nie kan hou bloot hawe 9999 op 'n produksie stelsel
Vereistes :
- Python
- Django
Kommentaar nie gevind