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

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

安装


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)
相关文章
|
25天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
109 7
Jmeter实现WebSocket协议的接口测试方法
|
8天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
11天前
|
JavaScript 前端开发 UED
WebSocket在Python Web开发中的革新应用:解锁实时通信的新可能
在快速发展的Web应用领域中,实时通信已成为许多现代应用不可或缺的功能。传统的HTTP请求/响应模式在处理实时数据时显得力不从心,而WebSocket技术的出现,为Python Web开发带来了革命性的变化,它允许服务器与客户端之间建立持久的连接,从而实现了数据的即时传输与交换。本文将通过问题解答的形式,深入探讨WebSocket在Python Web开发中的革新应用及其实现方法。
24 3
|
11天前
|
Python
python flask跨域处理
python flask跨域处理
24 1
|
13天前
|
前端开发 API Python
WebSocket技术详解:如何在Python Web应用中实现无缝实时通信
在Web开发的广阔领域中,实时通信已成为许多应用的核心需求。传统的HTTP请求-响应模型在实时性方面存在明显不足,而WebSocket作为一种在单个长连接上进行全双工通信的协议,为Web应用的实时通信提供了强有力的支持。本文将深入探讨WebSocket技术,并通过一个Python Web应用的案例分析,展示如何在Python中利用WebSocket实现无缝实时通信。
17 2
|
19天前
|
JSON 测试技术 数据库
Python的Flask框架
Python的Flask框架
|
16天前
|
数据采集 JSON API
🎓Python网络请求新手指南:requests库带你轻松玩转HTTP协议
本文介绍Python网络编程中不可或缺的HTTP协议基础,并以requests库为例,详细讲解如何执行GET与POST请求、处理响应及自定义请求头等操作。通过简洁易懂的代码示例,帮助初学者快速掌握网络爬虫与API开发所需的关键技能。无论是安装配置还是会话管理,requests库均提供了强大而直观的接口,助力读者轻松应对各类网络编程任务。
64 3
|
17天前
|
机器学习/深度学习 JSON API
HTTP协议实战演练场:Python requests库助你成为网络数据抓取大师
在数据驱动的时代,网络数据抓取对于数据分析、机器学习等至关重要。HTTP协议作为互联网通信的基石,其重要性不言而喻。Python的`requests`库凭借简洁的API和强大的功能,成为网络数据抓取的利器。本文将通过实战演练展示如何使用`requests`库进行数据抓取,包括发送GET/POST请求、处理JSON响应及添加自定义请求头等。首先,请确保已安装`requests`库,可通过`pip install requests`进行安装。接下来,我们将逐一介绍如何利用`requests`库探索网络世界,助你成为数据抓取大师。在实践过程中,务必遵守相关法律法规和网站使用条款,做到技术与道德并重。
30 2
|
19天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
49 3
|
24天前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
48 8
下一篇
无影云桌面