场景
在应用中可能有一中场景,客户端A只需要发布消息,另一头多个客户端只需要接收客户端A发过来的消息,即发布订阅模式。也可用于大屏展示端,客户端只负责发布推送内容,广播接收端则进行消息接收。因此在flask应用内,通过引入flask-socketio实现站内WebSocket消息广播。各网页接收广播消息并动态刷新页面。为便于观察,我们通过向服务端发送"/push?msg=test" http 请求,触发站内广播;并通过Flask-SocketIO的广播模式,将广播信息通过WebSocket接口发送到客户端浏览器打开的网页。网页根据接收到的信息,动态展示发布者发布的内容。
服务端程序
#!/usr/bin/env python
# encoding: utf-8
"""
@version: v1.0
@author: W_H_J
@license: Apache Licence
@contact: 415900617@qq.com
@software: PyCharm
@file: flaskIOTest.py
@time: 2019/2/20 12:04
@describe: flask-socketio 服务端
"""
import sys
import os
sys.path.append(os.path.abspath(os.path.dirname(__file__) + '/' + '..'))
sys.path.append("..")
from flask import Flask, re