|
|
@@ -35,6 +35,7 @@ async def updateDataRecord(PhotoFilename, id):
|
|
|
|
|
|
@app.websocket("/ws")
|
|
|
async def websocket_endpoint(websocket: WebSocket):
|
|
|
+ # await websocket.accept()
|
|
|
await conn_manager.connect(websocket)
|
|
|
active_connections.add(websocket)
|
|
|
smart_shooter.websocket = websocket
|
|
|
@@ -116,12 +117,14 @@ async def websocket_endpoint(websocket: WebSocket):
|
|
|
msg_type="smart_shooter_enable_preview",
|
|
|
)
|
|
|
await conn_manager.send_personal_message(data, websocket)
|
|
|
+ # async def runListen():
|
|
|
+ # smart_shooter.callback_listen = MsgCallback
|
|
|
+ # await smart_shooter.connect_listen()
|
|
|
+ # asyncio.create_task(runListen())
|
|
|
smart_shooter.callback_listen = MsgCallback
|
|
|
- async def runListen():
|
|
|
- await smart_shooter.connect_listen()
|
|
|
- await asyncio.gather(
|
|
|
- handler_messages(), send_message(), runListen()
|
|
|
- )
|
|
|
+ loop = asyncio.get_event_loop()
|
|
|
+ loop.run_in_executor(None, smart_shooter.connect_listen) # 后台线程启动监听
|
|
|
+ await asyncio.gather(handler_messages(), send_message())
|
|
|
except WebSocketDisconnect:
|
|
|
# socket_manager.close()
|
|
|
print("Client disconnected")
|
|
|
@@ -130,7 +133,11 @@ async def websocket_endpoint(websocket: WebSocket):
|
|
|
# if websocket:
|
|
|
# await websocket.close()
|
|
|
|
|
|
-
|
|
|
+@app.on_event("startup")
|
|
|
+async def startup_event():
|
|
|
+ loop = asyncio.get_event_loop()
|
|
|
+ loop.run_in_executor(None, smart_shooter.connect_listen)
|
|
|
+ print("监听服务已启动")
|
|
|
@app.on_event("shutdown")
|
|
|
async def shutdown_event():
|
|
|
print("Shutting down...")
|