2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Socket.IO
Il s'agit d'une bibliothèque de communication en temps réel, bidirectionnelle et événementielle basée sur WebSocket. Il a été initialement conçu pour Node.js, mais est désormais implémenté dans plusieurs langages, dont Python. En Python,python-socketio
est une bibliothèque populaire qui vous permet d'implémenter facilement des clients et des serveurs Socket.IO. Cette bibliothèque est particulièrement utile pour créer des applications Web nécessitant un échange de données en temps réel, telles que des applications de chat, des systèmes de notification en temps réel, des jeux, etc.
Vous pouvez l'installer via pippython-socketio
:
pip install python-socketio
Si vous souhaitez également créer un serveur Web et qu'il fasse également office de serveur Socket.IO, vous devrez peut-être également installerFlask-SocketIO
(Une extension Flask qui intègre Flask et Socket.IO) :
pip install Flask-SocketIO
Ce qui suit est un simpleFlask-SocketIO
Exemple de serveur, qui utilise le framework Flask et intègre Socket.IO :
- from flask import Flask, render_template
- from flask_socketio import SocketIO, send
-
- app = Flask(__name__)
- app.config['SECRET_KEY'] = 'secret!'
- socketio = SocketIO(app)
-
- @app.route('/')
- def index():
- return render_template('index.html')
-
- @socketio.on('message')
- def handleMessage(msg):
- print('Message: ' + msg)
- send(msg, broadcast=True)
-
- if __name__ == '__main__':
- socketio.run(app)
Dans cet exemple, le serveur écoute/
Acheminez et restituez une page HTML (vous devez créer cette page vous-même et introduire la bibliothèque client Socket.IO).Le serveur écoute également un appel appelémessage
événement, lorsque cet événement est reçu, il imprime le contenu du message et diffuse le message à tous les clients connectés.
Côté client (généralement JavaScript dans le navigateur), vous devez importer la bibliothèque client Socket.IO et établir une connexion au serveur. Voici un exemple client simple :
- <!DOCTYPE html>
- <html>
- <head>
- <title>Socket.IO chat</title>
- <script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/4.0.0/socket.io.js"></script>
- <script>
- var socket = io('http://localhost:5000');
- socket.on('connect', function() {
- console.log('Connected to the server!');
- });
-
- socket.on('message', function(msg) {
- console.log('Received message: ' + msg);
- });
-
- function sendMessage() {
- var input = document.getElementById('messageInput');
- socket.emit('message', input.value);
- input.value = '';
- }
- </script>
- </head>
- <body>
- <input type="text" id="messageInput" autocomplete="off" /><button onclick="sendMessage()">Send</button>
- </body>
- </html>
Dans cet exemple, le client se connecte au serveur et écoutemessage
événement et définit unsendMessage
Fonction pour envoyer des messages au serveur.
python-socketio
etFlask-SocketIO
Fournit des outils puissants pour créer des applications Web en temps réel. En tirant parti des WebSockets et d'un modèle de programmation basé sur les événements, vous pouvez facilement implémenter des fonctionnalités interactives complexes en temps réel.
Nous continuerons à mettre à jour et à partager du contenu pertinent à l'avenir.N'oubliez pas de faire attention !