flask使用flask_sockets实现websocket(ws://)请求

7 篇文章 0 订阅
2 篇文章 1 订阅

flask使用flask_sockets实现websocket ws://请求

下载

pip3 install Flask-Sockets
pip3 install gevent

服务端

from flask import Flask
from flask_sockets import Sockets
import datetime
import time
from gevent import pywsgi
from geventwebsocket.handler import WebSocketHandler

app = Flask(__name__)
sockets = Sockets(app)

@app.route('/')
def index():
    return 'hello'

@sockets.route('/test')
def test(ws):
    while not ws.closed:
        msg = ws.receive()
        print(f'i received:{msg}')
        if msg:
            now = datetime.datetime.now().isoformat()
            ws.send(now)
            print(f'i sent:{now}')
            time.sleep(1)


if __name__ == "__main__":
    server = pywsgi.WSGIServer(('0.0.0.0',8540),application=app,handler_class=WebSocketHandler)
    print('server started')
    server.serve_forever()

客户端

from websocket import create_connection

def client_handle():
    ws = create_connection('ws://0.0.0.0:8540/test')
    while True:
        if ws.connected:
            ws.send('hi,i am ws client')
            result = ws.recv()
            print(f"client received:{result}")
            # ws.close()

if __name__ == "__main__":
    client_handle()

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Flask使用flask_sockets实现WebSocket的功能。 Flask是一个Python的微型Web框架,而flask_socketsFlaskWebSocket的原始封装之一。它提供了一种简单的方法来使用WebSocket与客户端进行双向通信。 Flask-SocketIO是另一种用于实现WebSocket的方式,它提供了更多的功能和接口,可以更灵活地处理WebSocket通信。但是,flask_socketsFlask原生的实现,功能相对比较简单。 如果你只需要基本的WebSocket通信功能,那么使用flask_sockets是一个不错的选择。 你可以参考教程中的代码来学习如何在Flask使用flask_sockets实现WebSocket功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [flask使用flask_sockets实现websocket(ws://)请求](https://blog.csdn.net/qq_24822271/article/details/90379109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [flask_websockets:使用flaskWebsockets教程代码](https://download.csdn.net/download/weixin_42097914/18322743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [python基于flask_sockets实现WebSocket](https://blog.csdn.net/ieeso/article/details/105040216)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值