当前位置:首页 > python > 正文内容

flask的websocket的简单用例

root5年前 (2021-12-27)python1491

后端代码

flask Flask, render_template, request
flask_socketio SocketIO, emit

app (__name__, , ,
            , )
app.config[] socketio (app)
socketio.(app, )  //允许跨域
count ()
()()


(, )
()count
    count (,)
    (, {count, []})


(, )
()count
    count (,)
    (, {count,
                         []}, )


(, )
()()
    count
    count (, {count, })


(, )
()()


(, )
()()


__name__ socketio.(app, , , )


前端代码

index.html

<!DOCTYPE >
<>
<>
    <></>
    </>
    </>
    <></>
    <></>
    <></>
</>
<>
<></>

<>
    <><></></>
</>
<></>
<>
    </>
    </>
</>
<>
    </>
    </>
</>
<>
    <></>
    <></>
</>

<></>
<></>
</>
</>

./templates/index.js

$(document).ready(() {
    namespace ;

    socket io(namespace);
    $().click(() {
        socket.connect();
    });
    $().click(() {
        socket.disconnect();
    });
    socket.on(, () {
        alert();
    });
    socket.on(, () {
        socket.emit(, { data});
    });

    socket.on(, (msg, cb) {
        $().append(
            $()
                    .text(msg.count msg.data)
                    .html()
        );
        (cb) cb();
    });

    ping_pong_times [];
    start_time;
    window.setInterval(() {
        start_time Date().getTime();
        socket.emit();
    }, );

    socket.on(, () {
        latency Date().getTime() start_time;
        ping_pong_times.push(latency);
        ping_pong_times ping_pong_times.slice(); sum ;
        (i ; i ping_pong_times.length; i)
            sum ping_pong_times[i];
        $().text(
            Math.round((sum) ping_pong_times.length) );
    });

    $().submit((event) {
        socket.emit(, { data$().val() });
        ;
    });
    $().submit((event) {
        socket.emit(, { data$().val() });
        ;
    });
});

下面是代码

flask-socketio-main.zip

需要注意flask-socketio的版本

按照操作进行就可以了


参考

扫描二维码推送至手机访问。

版权声明:本文由一叶知秋发布,如需转载请注明出处。

本文链接:https://zhiqiu.top/?id=188

分享给朋友:

相关文章

自定义logger 模块使调用打印日志的文件为调用文件而不是logger模块

更新logging 源码1248行f f f.f_back替换为f f f.f_back     f_2 f.f_back   ...

pip 升级到指定版本,但是py2的pip版本务必在20版本以内包含20版本

python3 -m pip install --user --upgrade pip==9.0.3(换成你想要的版本编号)如果python2的只能升级到20+版本。超过会出现不支持的情况...

获取大文件的MD5值

(, )os.path.(, )logger.()         os.path.(, )logger.()  &...

flask 服务添加ssl 证书

flask 服务添加ssl 证书

1、利用openssl生成自用的ssl证书利用openssl 生成证书openssl genrsa -des3 -out server.key 2048不要密码:再执行 一下:openssl rsa -in server.key -out...

python用requests发送模拟请求忽略https的认证,忽略警告

import warnings warnings.filterwarnings('ignore')在文件头添加忽略警告信息的输出r = requests.get('https://kyfw.12306.cn&#...

python 之optparse模块OptionParser

该模块让python脚本命令能够符合标准的Unix命令例程式每个命令行参数就是由参数名字符串和参数属性组成的。如 -f 或者 file 分别是长短参数名当你将所有的命令行参数都定义好了的时候,我们需要调用parse_args()方法赖际熙a...