Skip to content

Instantly share code, notes, and snippets.

@Mulperi
Created December 30, 2021 11:24
Show Gist options
  • Save Mulperi/b4dbb48d935b06dac2095ce17feeede9 to your computer and use it in GitHub Desktop.
Save Mulperi/b4dbb48d935b06dac2095ce17feeede9 to your computer and use it in GitHub Desktop.
flask websocket
from flask import Flask
from flask_cors import CORS
from flask_socketio import SocketIO, emit
import os
app = Flask(__name__)
CORS(app)
socketio = SocketIO(app, cors_allowed_origins="*")
@socketio.on('connect', namespace="/items")
def socket_connect(auth):
print('Client connected.')
emit('initial_data', items)
@socketio.on('disconnect', namespace="/items")
def socket_disconnect():
print('Client disconnected.')
@socketio.on('activate', namespace="/items")
def socket_shelve(id):
print('Activate: ' + id)
for i, item in enumerate(items):
if item["id"] == int(id):
items[i]["activated"] = "true"
emit("activate", items[i])
@socketio.on('disable', namespace="/items")
def socket_shelve(id):
print('Disable: ' + id)
for i, item in enumerate(items):
if item["id"] == int(id):
items[i]["activated"] = "false"
emit("disable", items[i])
if __name__ == '__main__':
os.environ["FLASK_ENV"] = "production"
socketio.run(app=app, host='0.0.0.0', port=5000, debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment