Skip to content

Commit 5b8f0bc

Browse files
committed
README.md is updated !
1 parent 73fc77a commit 5b8f0bc

File tree

1 file changed

+43
-2
lines changed

1 file changed

+43
-2
lines changed

README.md

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# python-socket.io-django
22
Python socket.io example with Django framework
33

4+
<br/>
5+
<br/>
6+
47
## Installation des modules
58
Voici tous les modules dont on a besoin pour monter notre serveur socket.
69

@@ -31,6 +34,9 @@ Vous pouvez aussi les installer un a un afin d'avoir leur dernière version.
3134
pip install -r requirements.txt
3235
```
3336

37+
<br/>
38+
<br/>
39+
3440
## Creation d'un projet Django
3541
On va maintenant créer un projet Django nommé `django_socketio` par exemple.
3642

@@ -45,9 +51,15 @@ la configuration du serveur de `socket.io`.
4551
django-admin startapp socketio_app
4652
```
4753

54+
<br/>
55+
<br/>
56+
4857
## Configuration du projet
4958
On va placer les boûts de code qu'il faut dans certains fichiers de django.
5059

60+
<br/>
61+
<br/>
62+
5163
### Configuration de l'URL
5264
1. Dans le fichier `django_socketio/settings.py`, insérer la ligne suivante :
5365

@@ -62,7 +74,7 @@ ALLOWED_HOSTS = ['0.0.0.0', '127.0.0.1'];
6274
C'est pour permettre l'accès de tous les ordinateurs connectés sur le même réseau
6375
que vous (`0.0.0.0`) et l'accès en localhost (`127.0.0.1`) au serveur de l'application.
6476

65-
77+
<br/>
6678

6779
2. Dans le fichier `django_socketio/urls.py`, insérer la ligne suivante :
6880

@@ -83,6 +95,7 @@ urlpatterns = [
8395
]
8496
```
8597

98+
<br/>
8699

87100
3. Dans le dossier `django_socketio/socketio_app/`, créez le fichier `urls.py` et insérer s'y
88101
le code suivant :
@@ -98,6 +111,8 @@ urlpatterns = [
98111

99112
```
100113

114+
<br/>
115+
<br/>
101116

102117
### Configuration du serveur en socket.io
103118
On va maintenant mettre en place les fonctionnalités du serveur de socket.io.
@@ -116,14 +131,19 @@ sio = socketio.Server(async_mode=async_mode);
116131

117132
```
118133

119-
![Stratégie de déploiement](https://www.botreetechnologies.com/blog/wp-content/uploads/2020/12/deployment-strategy.jpg)
134+
<br/>
135+
136+
![Stratégie de déploiement](https://www.botreetechnologies.com/blog/wp-content/uploads/2020/12/deployment-strategy.jpg, "Stratégie de déploiement")
120137

121138
- Le déploiement est délicat, car les sockets ne sont pas basés sur le protocole HTTP. Le serveur d'applications alloue généralement un processus ou un fil distinct pour chaque demande. Par conséquent, nous devons utiliser `Gevent`, qui agit comme une boucle d'événements et chaque fois qu'il y a une demande de connexion, il génère un nouveau thread et attribue la connexion à ce thread.
122139

123140
- Nous avons décidé de séparer l'application socket de l'application normale, car la prise en charge à la fois de la fonction Django normale et de l'application socket dans une seule `application Django` rendait la gestion des réponses aux requêtes lente.
124141

125142
- Le déplacement du code socketio vers une autre application a également facilité la maintenance du code.
126143

144+
Par [ici](https://www.botreetechnologies.com/blog/django-websocket-with-socketio/) pour en savoir plus.
145+
146+
<br/>
127147

128148
2. Dans le dossier `django_socketio/socketio_app/`, créez le dossier `management`, dans ce dernier, créez le dossier `commands`, ensuite, dans le dossier `commands`, créer le fichier `runserver.py`. Dans ce dernier, insérez les lignes de codes suivantes :
129149

@@ -180,3 +200,24 @@ class Command(RunCommand):
180200

181201
```
182202

203+
<br/>
204+
205+
3. Remplacez les lignes de code du fichier `django_socketio/wsgi.py` par les suivantes :
206+
207+
```python
208+
import os
209+
import socketio
210+
211+
from django.core.wsgi import get_wsgi_application
212+
from socketio_app.views import sio
213+
214+
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_socketio.settings');
215+
216+
django_app = get_wsgi_application();
217+
application = socketio.WSGIApp(sio, django_app);
218+
219+
```
220+
221+
<br/>
222+
<br/>
223+

0 commit comments

Comments
 (0)