1. 程式人生 > >Websocket 簡單對話:靜態網頁與pycharm對話

Websocket 簡單對話:靜態網頁與pycharm對話

env 規範 rec pla 如果 new span event wid

WebSocket

websocket 是一種在單個Tcp連接上進行雙全工通信的協議.websocket通信協議於2011年被IETF定為標準RFC6455,並

由RFc7936補充規範.WebSocket APL也被w3c定為標準

WebSocket使得客戶端和服務器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據,在 WebSocket APL

中,瀏覽器和服務器只需要完成一次握手,兩者之間就直接可以創建持久性的連接,並進行雙向數據傳輸.

解釋: 基於TCP的全雙工通信協議

優點: 服務器可以主動傳送數據給客戶端

功能: 實現了瀏覽器與服務器雙全工通信

簡單聊天

首先我們要先安裝Webscoket ,如果安裝了就不用了

技術分享圖片

其次創建一個py文件和一個html文件

技術分享圖片
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_ws")
def ws_app():
    
# print(request.environ) """ wsgi.websocket:<geventwebsocket.websocket.WebSocket object at 0x0000000003Bc8528> :return: """ user_socket = request.environ.get("wsgi.websocket") while True: msg =user_socket.receive() print(msg) user_socket.send(msg)
#1 已經開啟的websocket連接 #3 開啟了websocket連接 然後 斷開了 return "123" if __name__ =="__main__": http_serv = WSGIServer(("0.0.0.0",9527),app,handler_class=WebSocketHandler) http_serv.serve_forever()
.py 技術分享圖片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="application/javascript">
    var ws=new WebSocket("ws://127.0.0.1:9527/conn_ws");
    ws.onmessage =function (messageEvent) {
        console.log(messageEvent.data);
    }
</script>
</body>
</html>
.html

打開靜態頁面 ,打開

技術分享圖片

技術分享圖片

報錯不用管 !!!!

Websocket 簡單對話:靜態網頁與pycharm對話