Maison  >  Article  >  développement back-end  >  Créez des applications Web en temps réel à l'aide de Python et Node.js

Créez des applications Web en temps réel à l'aide de Python et Node.js

WBOY
WBOYoriginal
2023-06-18 09:29:591042parcourir

Python et Node.js sont tous deux des langages de développement très populaires et largement utilisés dans différents domaines. Python est principalement utilisé pour développer des applications de science des données et d'apprentissage automatique, tandis que Node.js est un cadre d'application Web rapide, idéal pour créer des applications Web en temps réel.

Dans cet article, nous verrons comment créer des applications Web en temps réel à l'aide de Python et Node.js. Nous présenterons d'abord les concepts de base des applications Web en temps réel, puis montrerons comment implémenter des applications en temps réel à l'aide de la communication web socket (Socket) en Python et Node.js.

Qu'est-ce qu'une application web temps réel ?

Les applications Web en temps réel font référence aux applications Web qui peuvent répondre instantanément aux événements et aux modifications. Ces événements et modifications peuvent être des événements d'interaction utilisateur ou des modifications de la source de données back-end. Des exemples typiques d'applications Web en temps réel incluent les programmes de chat, les programmes de surveillance du cours des actions, les jeux multijoueurs en ligne, etc.

Il existe de nombreuses façons de mettre en œuvre des applications en temps réel, la plus populaire étant d'utiliser la communication Web Socket. La communication par socket Web est un protocole réseau spécial qui permet au serveur et au client de communiquer en temps réel dans les deux sens sans interroger ni actualiser la page.

Comment créer des applications web en temps réel avec Python et Node.js ?

Python et Node.js fournissent tous deux des bibliothèques et des frameworks qui prennent en charge les sockets Web, à savoir Flask-SocketIO de Python et Socket.IO de Node.js. Ci-dessous, nous présenterons comment créer des applications Web en temps réel dans ces deux langages.

Créez des applications Web en temps réel à l'aide de Python Flask-SocketIO

Tout d'abord, nous devons installer les bibliothèques Python et Flask-SocketIO appropriées. Il peut être installé en exécutant la commande suivante :

pip install flask flask-socketio

Ensuite, nous devons créer une application Flask de base et activer l'extension SocketIO. Vous pouvez vous référer au code suivant :

from flask import Flask, render_template
from flask_socketio import SocketIO, emit

app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)

@app.route('/')
def index():
    return render_template('index.html')

@socketio.on('connect')
def handle_connect():
    print('Client connected')

if __name__ == '__main__':
    socketio.run(app)

Dans le code ci-dessus, nous avons d'abord importé les bibliothèques Flask et Flask-SocketIO. Ensuite, j'ai créé une application Flask et activé l'extension SocketIO.

Ensuite, nous définissons une fonction de routage d'index pour renvoyer un modèle HTML de base. Dans la fonction handle_connect, nous définissons une fonction de traitement d'événements SocketIO à déclencher lorsque le client se connecte. Enfin, nous démarrons l'application à l'aide de la fonction socketio.run.

Maintenant, nous devons créer un modèle HTML de base (index.html) pour afficher l'application.

<!DOCTYPE html>
<html>
<head>
    <title>Flask-SocketIO Real-time Web Application</title>
    <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
    <script type="text/javascript">
        var socket = io.connect('http://' + document.domain + ':' + location.port);

        socket.on('connect', function() {
            console.log('Connected to server.');
        });
    </script>
</head>
<body>
    <h1>Flask-SocketIO Real-time Web Application</h1>
</body>
</html>

Dans le code ci-dessus, nous référençons la bibliothèque Socket.IO, nous nous connectons au serveur SocketIO et affichons un message lorsque la connexion est réussie.

Maintenant, nous pouvons exécuter le code ci-dessus et ouvrir http://127.0.0.1:5000 dans le navigateur pour voir une application Web de base Flask-SocketIO en temps réel.

Créez des applications Web en temps réel à l'aide de Node.js Socket.IO

Ensuite, nous présenterons comment créer des applications Web en temps réel à l'aide de Node.js et Socket.IO.

Tout d'abord, nous devons installer Node.js et créer un projet Node.js vide.

Nous pouvons ensuite installer la bibliothèque Socket.IO en exécutant la commande suivante :

npm install socket.io

Ensuite, nous devons créer une application Node.js de base et activer la bibliothèque Socket.IO. Vous pouvez vous référer au code suivant :

var app = require('http').createServer(handler),
    io = require('socket.io')(app),
    fs = require('fs');

app.listen(3000);

function handler(req, res) {
    fs.readFile(__dirname + '/index.html',
        function (err, data) {
            if (err) {
                res.writeHead(500);
                return res.end('Error loading index.html');
            }

            res.writeHead(200);
            res.end(data);
        });
}

io.on('connection', function (socket) {
    console.log('Client connected');

    socket.on('disconnect', function () {
        console.log('Client disconnected');
    });
});

Dans le code ci-dessus, nous avons d'abord importé les bibliothèques http et socket.io de Node.js et créé un serveur http de base. Ensuite, nous définissons une fonction de gestionnaire qui renvoie un modèle HTML de base. Dans l'événement io.on('connection'), nous définissons une fonction de gestion des événements SocketIO, qui est déclenchée lorsque le client se connecte ou se déconnecte.

Dans les prochaines étapes, nous devons créer un modèle HTML de base (index.html) afin d'afficher l'application.

<!DOCTYPE html>
<html>
<head>
    <title>Node.js Socket.IO Real-time Web Application</title>
    <script src="/socket.io/socket.io.js"></script>
    <script type="text/javascript">
        var socket = io.connect('http://' + document.domain + ':3000');

        socket.on('connect', function() {
            console.log('Connected to server.');
        });
    </script> 
</head>
<body>
    <h1>Node.js Socket.IO Real-time Web Application</h1>
</body>
</html>

Dans le code ci-dessus, nous référençons la bibliothèque Socket.IO, nous nous connectons au serveur SocketIO et affichons un message lorsque la connexion est réussie.

Maintenant, nous pouvons exécuter le code ci-dessus et ouvrir http://localhost:3000 dans le navigateur pour voir une application Web de base Node.js Socket.IO en temps réel.

Résumé

Dans cet article, nous avons expliqué comment créer des applications Web en temps réel à l'aide de Python Flask-SocketIO et Node.js Socket.IO. Les applications Web en temps réel nécessitent souvent l'utilisation de la communication Web Socket pour permettre une communication bidirectionnelle en temps réel entre le client et le serveur. Les bibliothèques Flask-SocketIO et Socket.IO fournissent une prise en charge correspondante, ce qui peut grandement simplifier les opérations lors du développement d'applications Web en temps réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn