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

flask的websocket的简单用例

root3年前 (2021-12-27)python827

后端代码

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

分享给朋友:

相关文章

python zip 压缩文件 解压文件

# 压缩文件 import errno import os import zipfile def zip_pack_file(target_path, zip_fi...

父进程退出后如何退出子进程

我们知道当子进程推出的时候,父进程会收到 SIGCHLD 信号,从而可以采取相应的操作。但是当父进程退出的时候,系统会把子进程的父进程更改为pid=0的 init 进程,而且子进程不会收到任何信号。而我们经常想在父进程退出的时候,让子进程也...

python 装饰器 之打印函数执行时间

在实际开发中 遇见很多需要排查函数执行时间定位性能瓶颈点用装饰器获取函数执行的时间还是比较方便的import inspect import time def timethis(func):  ...

linux 的信号和快捷键&python的信号

linux信号 1) SIGHUP           2) SIGINT     &nb...

python2的pip 不能使用或者使用总是报错

python2的pip 不能使用或者使用总是报错

python2.7   当然可能还有其他情况有的是pip版本升级过高,有的是pip有点问题无法执行pip的命令升级python2的 pip 一定要小心推荐命令:pip install --upgrad...

python 发送和发送ICMP数据包

python 发送和发送ICMP数据包

ICMP协议在实际传输中数据包:20字节IP首部 + 8字节ICMP首部+ 1472字节<数据大小>38字节。对于ICMP首部细分为8位类型+8位代码+16位校验和+16位标识符+16位序列号其中类型的取值如下,我们比较关注的是...