• Websocket 简单对话:静态网页与pycharm对话


    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

    打开静态页面 ,打开

    报错不用管 !!!!

  • 相关阅读:
    关于PHPExcel直接读取Excel文件两种方法
    关于CSS
    PHP数组——自定义排序
    MYSQL常用函数
    uniapp 子组件给子组件传值
    uniapp 子组件给父组件传值
    uniapp 父亲给子组件传值
    uniapp 百度小程序 navigator跳转页面&传参
    uniapp 百度小程序预览图片
    js filter过滤,map映射 filter和map的用法
  • 原文地址:https://www.cnblogs.com/tianshuai1/p/10580848.html
Copyright © 2020-2023  润新知