ajax长轮询消息队列,Python中的非消息队列/简单长轮询(和Flask)

Jonathan Eun..

10

在对大多数浏览器进行简单,自然的Web套接字支持之前,以及在与Flask应用程序一起轻松集成之前,长轮询是一种合理的解决方法.但是在2013年中期,Web Socket支持已经走过了漫长的道路.

这是一个示例,类似于上面的示例,但集成了Flask和Web Sockets.它运行在gevent和gevent-websocket的服务器组件之上.

请注意,此示例并非旨在成为Web Socket杰作.它保留了很多lpoll结构,使它们更容易比较.但它立即提高了Web应用程序的响应能力,服务器开销和交互性.

Python 3.7+的更新

自最初回答5年以来,WebSocket变得更容易实现.从Python 3.7开始,异步操作已经成熟为主流实用性.Python Web应用程序是完美的用例.他们现在可以像JavaScript和Node.js一样使用异步,留下了"并发性"的一些怪癖和复杂性.特别是,请查看Quart.它保留了Flask的API以及与许多Flask扩展的兼容性,但是启用了异步.一个关键的副作用是WebSocket连接可以与HTTP连接并行地优雅地处理.例如:

from quart import Quart, websocket

app = Quart(__name__)

@app.route('/')

async def hello():

return 'hello'

@app.websocket('/ws')

async def ws():

while True:

await websocket.send('hello')

app.run()

Quart只是升级到Python 3.7的众多重要原因之一.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值