赞
踩
系统:windows
Flask 1.1.2
Flask-Sockets 0.2.1
Werkzeug 1.0.1
提示:以下是本篇文章正文内容,下面案例可供参考
from flask import Flask from flask_sockets import Sockets import time app = Flask(__name__) sockets = Sockets(app) @sockets.route('/echo') def echo_socket(ws): while not ws.closed: now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) ws.send(now) #发送数据 time.sleep(0.5) @app.route('/') def hello(): return 'Hello World!' if __name__ == "__main__": from gevent import pywsgi from geventwebsocket.handler import WebSocketHandler server = pywsgi.WSGIServer(('127.0.0.1', int(5000)), app, handler_class=WebSocketHandler) print('server start') server.serve_forever()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/jquery/3.2.0/jquery.js"></script> </head> <body> <div id="time"></div> <script> var ws = new WebSocket("ws://127.0.0.1:5000/echo"); ws.onmessage = function (event) { content = document.createTextNode(event.data); $("#time").html(content); }; </script> </body> </html>
运行效果:
import websockets
import asyncio
async def hello():
async with websockets.connect("ws://127.0.0.1:5000/echo")as ws:
while True:
data = await ws.recv()
await ws.send("Hello, World")
await asyncio.sleep(0.5)
print ("Received:'%s'" % data)
loop = asyncio.get_event_loop()
loop.run_until_complete(hello())
运行效果:
Received:'2022-01-26 20:51:34'
Received:'2022-01-26 20:51:34'
Received:'2022-01-26 20:51:35'
Received:'2022-01-26 20:51:35'
Received:'2022-01-26 20:51:36'
Received:'2022-01-26 20:51:36'
Received:'2022-01-26 20:51:37'
Received:'2022-01-26 20:51:37'
版本安装错误会导致很多问题,请按照以上配置进行测试。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。