1 from flask import Flask, request, render_template 2 3 from geventwebsocket.handler import WebSocketHandler 4 from gevent.pywsgi import WSGIServer 5 from geventwebsocket.websocket import WebSocket 6 7 app = Flask(__name__) 8 9 user_socket_list = [] 10 11 12 @app.route(‘/conn_ws‘) 13 def ws_app(): 14 # print(request.environ) 15 16 user_socket = request.environ.get(‘wsgi.websocket‘) # type: WebSocket 17 user_socket_list.append(user_socket) 18 print(len(user_socket_list), user_socket_list) 19 while True: 20 msg = user_socket.receive() 21 print(msg) 22 for i in user_socket_list: 23 i.send(msg) 24 25 26 @app.route(‘/index‘) 27 def index(): 28 return render_template(‘my_qserv.html‘) 29 30 31 if __name__ == ‘__main__‘: 32 http_serv = WSGIServer((‘0.0.0.0‘, 9527), app, handler_class=WebSocketHandler) 33 34 http_serv.serve_forever()
后端
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="text" id="send_str"> 9 <button id="send_btn" onclick="send()">发送消息</button> 10 <p> 11 <div id="chat_list"> 12 </div> 13 </p> 14 </body> 15 <script type="application/javascript"> 16 var ws = new WebSocket(‘ws://192.168.11.67:9527/conn_ws‘); 17 ws.onmessage = function (messageEvent) { 18 console.log(messageEvent.data); 19 var ptag = document.createElement(‘p‘); 20 ptag.innerText = messageEvent.data; 21 document.getElementById(‘chat_list‘).appendChild(ptag); 22 }; 23 function send() { 24 var send_str = document.getElementById(‘send_str‘).value; 25 ws.send(send_str); 26 } 27 </script> 28 </html>
前端
原文地址:https://www.cnblogs.com/zhao-peng-/p/10589922.html
时间: 2024-10-17 12:13:48