from fastapi import FastAPI, WebSocket
import uvicorn, time, websocket
from threading import Thread
app = FastAPI()
@app.websocket("/ws/{aka}")
async def ws(w: WebSocket, aka: str):
await w.accept()
while True:
try:
p = await w.receive_text()
print(p)
except:
break
host = "xxx.xxx.xx.xxx"
port = 8082
def f0():
uvicorn.run(app, host=host, port=port)
Thread(target=f0).start()
time.sleep(1)
class W():
def __init__(self):
self.e = websocket.WebSocketApp(f"ws://{host}:{port}/ws/dwa")
self.e.on_open = self.op
self.e.on_message = self.om
self.e.on_close = self.oc
self.e.run_forever()
def op(self):
print("p")
def om(self, m):
print(m, "m")
def oc(self):
print("c")
W()
fastapi websockt 向自己连接ws
于 2022-08-28 22:00:04 首次发布