blob: 676fc27b4f7633b32f3402c3df6f1255842f99d9 (
plain) (
blame)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 | import traceback
from rmq import send as rmq_send
from flask import Flask
from flask import render_template
from flask_sockets import Sockets
app = Flask(__name__)
sockets = Sockets(app)
@app.route('/')
def index():
    return render_template('index.html')
@sockets.route('/ws')
def websocket_route(ws):
    try:
        while not ws.closed:
            message = ws.receive()
            if not message:
                continue
            print(f"received '{message}'")
            rmq_send(message)
    except:
        print(traceback.format_exec())
    finally:
        if not ws.closed:
            ws.close()
if __name__ == '__main__':
    #app.run(host='0.0.0.0', port=5000, debug=True)
    from gevent import pywsgi
    from geventwebsocket.handler import WebSocketHandler
    server = pywsgi.WSGIServer(('0.0.0.0', 5000), app, handler_class=WebSocketHandler)
    server.serve_forever()
 |