Mam aplikację django, która musi zostać wdrożona pod serwerem Apache HTTP Server, potrzebuję również zdarzenia push do przeglądarki internetowej klienta w czasie rzeczywistym. Jestem raczej nowy dla Pythona, czy ktoś mógłby zasugerować, że serwer websocket mógłby działać w Pythonie + Django + Apache?Serwer websocket do aplikacji django
8
A
Odpowiedz
8
Django to synchroniczny serwer WWW. oznacza to, że nie można używać websocket bezpośrednio z nim. Ale masz różne możliwości zrobienia websocket w Django.
Użyj pełnego stosu python, aby to zrobić: użyj Tornado i Django. Możesz śledzić ten post
Zastosowanie Nodejs + socket.io + Message Broker: Śledź ten typ tutorial
Znajdziesz więcej zasobów, które pomogą Ci to robić z node.js & socket.io niż przy użyciu tornado.
0
Dzięki nowej aktualizacji (Django 1.10) Django obsługuje teraz websockets.
Proszę przeczytać ten artykuł, aby uzyskać więcej informacji: In deep with Django channels - the future of real time apps in Django
środowisko muszę użyć jest python + Django Django może być łatwo wdrożony na Tornado? Druga opcja wydaje się bardziej skomplikowana? –
Druga opcja dodaje złożoność w twoim stosie WWW: oznacza to, że dodany do Pythona masz do czynienia z językiem javascript. plus będziesz używać brokera komunikatów (redis). To zależy od twojej potrzeby. Jeśli jesteś bardziej komfortowy w python, idź z Tornado. Tornado może bez problemu uruchomić serwer Django. Zobacz [ten link] (https://groups.google.com/forum/#!topic/django-users/3jFOuYVGlbk). –
Dzięki Alex, przejdę teraz do pierwszej opcji. Wiem, że socket.io powinien działać lepiej niż Tornado, czy to prawda? W przyszłości spróbuję także drugiej opcji. –