后端代碼:
from flask import Flask,request from geventwebsocket.handler import WebSocketHandler from gevent.pywsgi import WSGIServer from geventwebsocket.websocket import WebSocket #這條做語法提示用 app = Flask(__name__) @app.route('/conn') def index(): #獲取請求原始數據 user_socket = request.environ #獲取websocket對象 websocket_obj = user_socket['wsgi.websocket'] #type:WebSocket while True: #循環監聽 # 監聽鏈接,接收數據 msg = websocket_obj.receive() print(msg) websocket_obj.send(msg+'youtoo') if __name__ == '__main__': # app.run() #在APP外封裝websocket http_serv = WSGIServer(("0.0.0.0",5000),app,handler_class=WebSocketHandler) # 啟動服務 http_serv.serve_forever()
模板代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>websocket客戶端</title> </head> <body> <script type="application/javascript"> var ws = new WebSocket('ws://127.0.0.1:5000/conn'); //建立websocket鏈接 //接收數據 ws.onmessage = function (messageEvent) { console.log(messageEvent.data) } </script> </body> </html>