python 轮询mysql_python之轮询、长轮询、websocket

本文介绍了使用Python实现的轮询、长轮询和WebSocket三种实时通信方式,包括后端Flask代码和前端Ajax交互。轮询通过定时刷新获取最新数据,长轮询则在无数据时保持连接直到有新消息。WebSocket建立持久连接,实现实时双向通信,提高了效率并减少了服务器资源消耗。
摘要由CSDN通过智能技术生成

轮询

ajax轮询 ,ajax轮询 的原理非常简单,让浏览器隔个几秒就发送一次请求,询问服务器是否有新信息。

1、后端代码

from flask importFlask,render_template

app= Flask(__name__)

UUUU={'1':{'name':'王','count':1},'2':{'name':'李','count':1},'3':{'name':'赵','count':1},

}

@app.route('/index')defindex():return render_template('index.html',user_list =UUUU)if __name__ == '__main__':

app.run()

2、前端代码

最帅的
  • {% for k,v in user_list.items() %}
  • { {k}}: { {v.name}} { {v.count}} {% endfor %}

#重点2秒重新请求

function reload() {

window.location.reload()

}

setInterval(reload,2000)

长轮询

long poll 其实原理跟 ajax轮询 差不多,都是采用轮询的方式,不过采取的是阻塞模型(一直打电话,没收到就不挂电话),也就是说,客户端发起连接后,如果没消息,就一直不返回Response给客户端。直到有消        息才返回或超时,返回完之后,客户端再次建立连接,周而复始,基于事件的触发,一个事件接一个事件。

Ajax轮询与long poll都属于不断发送http请求,然后等待服务器处理,可以看到http协议一个特点,被动性,服务端不能主动联系客户端,只有客户端发起。

缺点:Ajax轮询需要服务器有很快的处理速度与快速响应。long poll需要很高的并发,体现在同时容纳请求的能力。

1、后端代码

from flask importFlask,render_template,request,session,redirect,jsonifyfrom uuid importuuid4from queue importQueue,Emptyimportjson

app= Flask(__name__)

app.secret_key= "asdfasdfasdf"UUUU={'1&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值