2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Socket.IO
Se on WebSocketiin perustuva reaaliaikainen, kaksisuuntainen ja tapahtumapohjainen viestintäkirjasto. Se suunniteltiin alun perin Node.js:lle, mutta nyt se on toteutettu useilla kielillä, mukaan lukien Python. Pythonissa,python-socketio
on suosittu kirjasto, jonka avulla voit helposti toteuttaa Socket.IO-asiakkaita ja palvelimia. Tämä kirjasto on erityisen hyödyllinen luotaessa verkkosovelluksia, jotka vaativat reaaliaikaista tiedonvaihtoa, kuten chat-sovellukset, reaaliaikaiset ilmoitusjärjestelmät, pelit jne.
Voit asentaa sen pipin kauttapython-socketio
:
pip install python-socketio
Jos haluat myös luoda verkkopalvelimen ja haluat sen toimivan Socket.IO-palvelimena, saatat joutua asentamaanFlask-SocketIO
(Flask-laajennus, joka yhdistää Flaskin ja Socket.IO:n):
pip install Flask-SocketIO
Seuraava on yksinkertainenFlask-SocketIO
Palvelinesimerkki, joka käyttää Flask-kehystä ja integroi Socket.IO:n:
- 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)
Tässä esimerkissä palvelin kuuntelee/
Reititä ja renderöi HTML-sivu (sinun on luotava tämä sivu itse ja esitettävä Socket.IO-asiakaskirjasto).Palvelin myös kuuntelee soitettua puheluamessage
tapahtuma, kun tämä tapahtuma vastaanotetaan, se tulostaa viestin sisällön ja lähettää viestin takaisin kaikille yhdistetyille asiakkaille.
Asiakaspuolella (yleensä JavaScript selaimessa) sinun on tuotava Socket.IO-asiakaskirjasto ja muodostettava yhteys palvelimeen. Tässä on yksinkertainen asiakasesimerkki:
- <!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>
Tässä esimerkissä asiakas muodostaa yhteyden palvelimeen ja kuunteleemessage
tapahtuma ja määrittelee asendMessage
Toiminto lähettää viestejä palvelimelle.
python-socketio
jaFlask-SocketIO
Tarjoaa tehokkaita työkaluja reaaliaikaisten verkkosovellusten rakentamiseen. Hyödyntämällä WebSocketsia ja tapahtumapohjaista ohjelmointimallia voit helposti toteuttaa monimutkaisia reaaliaikaisia interaktiivisia ominaisuuksia.
Jatkamme asiaankuuluvan sisällön päivittämistä ja jakamista tulevaisuudessa.Muista kiinnittää huomiota!