pip install django-socketio python INSTALLED_APPS = [ ... 'django_socketio', ... ] MIDDLEWARE = [ ... 'django_socketio.middleware.SocketIOMiddleware', ... ] TEMPLATE_CONTEXT_PROCESSORS = [ ... 'django_socketio.context_processors.socketio', ... ] python from django.shortcuts import render from socketio import socketio_manage from django.http import HttpResponseServerError def socketio(request): try: socketio_manage(request.environ, {'': SomeNamespace}, request) except: return HttpResponseServerError() class SomeNamespace(BaseNamespace): def on_connect(self): self.emit('message', {'data': 'Connected'}) def on_message(self, msg): self.emit('message', {'data': msg}) python ... url(r'^socket\.io', 'myapp.views.socketio', name='socketio'), ... html <!DOCTYPE html> <html> <head> <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> </head> <body> <div id="messages"></div> <input id="input" type="text"> <script type="text/javascript"> var socket = io('http://localhost:8000'); socket.on('connect', function() { socket.emit('message', 'Hello, Server!'); }); socket.on('message', function(data) { $('#messages').append('<p>' + data + '</p>'); }); $('#submit').click(function() { var message = $('#input').val(); socket.emit('message', message); $('#input').val(''); }); </script> </body> </html>


上一篇:
下一篇:
切换中文