Python: flask-socketio使用Websocket协议进行通讯

简介: Python: flask-socketio使用Websocket协议进行通讯

文档:


PyPI: https://pypi.org/project/Flask-SocketIO/

Github: https://github.com/miguelgrinberg/Flask-SocketIO

doc: https://flask-socketio.readthedocs.io

socket.io: https://socket.io/


安装

pip install flask-socketio gevent-websocket

代码实例

from flask import Flask, render_template, request
from flask_socketio import SocketIO
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
app.jinja_env.auto_reload = True
socketio = SocketIO(app)
@app.route('/')
def index():
    return render_template('index.html')
@app.route('/send_all')
def send_all():
    """
    广播
    :return: 
    """
    message = request.args.get('message')
    socketio.send(message)
    return {'status': 'ok'}
@app.route('/send')
def send_message():
    """
    单独发送
    :return:
    """
    sid = request.args.get('sid')
    message = request.args.get('message')
    socketio.send(message, to=sid)
    return {'status': 'ok'}
@socketio.on('connect')
def connect():
    print('connect')
    socketio.send({'sid': request.sid})
@socketio.on('disconnect')
def disconnect():
    print('disconnect')
@socketio.on('message')
def handle_message(data):
    print(data)
    socketio.send({'data': data})
if __name__ == '__main__':
    socketio.run(app, debug=True)

Http 发送测试请求

import requests
params = {
    'sid': 'm4AymrH2TIFHCcQNAAAF',
    'message': 'send'
}
res = requests.get('http://localhost:5000/send', params=params)
print(res.text)
params = {
    'message': 'send_all'
}
res = requests.get('http://localhost:5000/send_all', params=params)
print(res.text)
相关文章
|
1月前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
【10月更文挑战第6天】本文介绍了如何使用Python和Flask构建一个简单的RESTful API。首先简述了API的重要性及RESTful API的设计理念,接着详细说明了Flask框架的基础知识、环境准备、创建基本应用、定义资源和路由、请求与响应处理以及错误处理等内容。通过具体示例,展示了如何实现常见的HTTP方法,如GET、POST、PUT和DELETE,以操作“图书”资源。最后,提供了运行和测试API的方法,总结了Flask在构建API方面的优势。
38 3
|
4天前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
|
4天前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
|
4天前
|
JSON 关系型数据库 测试技术
使用Python和Flask构建RESTful API服务
使用Python和Flask构建RESTful API服务
|
14天前
|
开发框架 前端开发 JavaScript
利用Python和Flask构建轻量级Web应用的实战指南
利用Python和Flask构建轻量级Web应用的实战指南
44 2
|
24天前
|
JSON API 数据格式
如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架
本文介绍了如何使用Python和Flask构建一个简单的RESTful API。Flask是一个轻量级的Web框架,适合小型项目和微服务。文章从环境准备、创建基本Flask应用、定义资源和路由、请求和响应处理、错误处理等方面进行了详细说明,并提供了示例代码。通过这些步骤,读者可以快速上手构建自己的RESTful API。
28 2
|
25天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
35 1
|
25天前
|
JSON API 数据格式
构建RESTful APIs:使用Python和Flask
构建RESTful APIs:使用Python和Flask
28 1
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
27 4
|
1月前
|
JSON API 数据格式
使用Python和Flask构建简单的RESTful API
【10月更文挑战第12天】使用Python和Flask构建简单的RESTful API
46 1
下一篇
无影云桌面