实现服务器定时发信息,使用flask_socketio实现服务端向客户端定时推送

本文通过flask_socketio库详细介绍了如何建立WebSocket连接并实现实时双向通信,包括安装、服务端封装、事件发送、定时推送以及客户端的接收处理。在服务端,利用背景线程避免了while循环对WebSocket连接的影响,确保了定时消息的正常发送。
摘要由CSDN通过智能技术生成

websocket连接是客户端与服务器之间永久的双向通信通道,直到某方断开连接。

双向通道意味着在连接时,服务端随时可以发送消息给客户端,反之亦然,这在一些需要即时通讯的场景比如多人聊天室非常重要。

flask_socketio实现了对websocket的封装,它可以让运行flask应用的服务端和客户端建立全双工通道。

flask_socketio是一个python库,是flask框架的扩展。

一、安装

pip install flask-socketio

二、实现对flask的封装

from flask importFlask, render_templatefrom flask_socketio importSocketIO,emit

app= Flask(__name__)

app.config['SECRET_KEY'] = 'secret!'socketio=SocketIO(app)if __name__ == '__main__':

socketio.run(app, debug=True)

socketio.run()函数封装了flask的web服务器的启动

三、服务端向客户端推送

socketio的两个函数send()和emit()都可以实现消息发送,前者用于无名事件,后者用于命名的事件。

事件是消息的名称。如果把消息比做信件,事件就是贴在信封上的标识,这个标识规定了信件送往客户端或服务端的某个函数。

from flask importFlask, render_templatefrom flask_socketio importSocketIO,emit

app&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值