1 from flask import Flask, request,render_template
2 from geventwebsocket.websocket import WebSocket
3 from gevent.pywsgi import WSGIServer
4 from geventwebsocket.handler import WebSocketHandler
5
6
7 user_socket_list = []
8 app = Flask(__name__)
9
10 @app.route('/')
11 def index():
12 return render_template('index.html')
13
14 @app.route('/ws')
15 def ws():
16 user_socket = request.environ.get('wsgi.websocket') # type:WebSocket
17 # 建立连接
18 if user_socket:
19 user_socket_list.append(user_socket) # 将建立的连接添加进一个列表
20 print(len(user_socket_list))
21 else:
22 print('请用websocket链接')
23 return render_template('index.html',message='请用websocket链接')
24 while True:
25 msg = user_socket.receive()
26 print(msg)
27 for socket in user_socket_list:
28 socket.send(msg)
29
30 if __name__ == '__main__':
31 http_serv = WSGIServer(('0.0.0.0',5000),app,handler_class=WebSocketHandler)
32 http_serv.serve_forever()