pip install django-socketio
python
INSTALLED_APPS = [
...
'socketio',
]
MIDDLEWARE_CLASSES = [
...
'django_socketio.middleware.SocketIOMiddleware',
]
python
from socketio.namespace import BaseNamespace
from socketio.mixins import BroadcastMixin
class MyNamespace(BaseNamespace, BroadcastMixin):
def on_connect(self):
pass
def on_disconnect(self):
pass
def on_custom_event(self, data):
self.emit('custom_event_response', {'result': 'success'})
from django.conf.urls import url
from django_socketio import sio
urlpatterns = [
url(r'^socket.io/', include(sio.urls)),
]
script
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.8/socket.io.min.js"></script>
<script>
var socket = io.connect('http://localhost:8000');
socket.on('connect', function () {
});
socket.on('disconnect', function () {
});
socket.on('custom_event_response', function (data) {
var result = data.result;
console.log(result);
});
</script>