Flask+gevent-websocket模塊實現websocket


后端代碼:

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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM