fastapi-socketio icon indicating copy to clipboard operation
fastapi-socketio copied to clipboard

How do i use it?

Open lrosch opened this issue 1 year ago • 3 comments

I'm currently trying to work this module into my Server. I tried to test it via

`if name == "main": app = FastAPI() socket_manager = SocketManager(app=app) uvicorn.run(app, host="localhost", port=40000)

@app.sio.on('join')
async def handle_join(sid, *args, **kwargs):
    await app.sio.emit('lobby', 'User joined')


@app.sio.event
async def connect(sid, environ):
    print(f"client {sid} has connected to the server")

`

i want to run my socketio on my /socket.io route is it possible via this module, since mounting the normal socket.io to fastapi results in a 404 route not found.

lrosch avatar Oct 05 '23 07:10 lrosch

Did you ever figure out how to solve this?

BuckLearnsCode avatar Oct 26 '23 17:10 BuckLearnsCode

I proceeded to just use normal python-socketio with fastapi where i had my setup like: app = FastAPI() sio = socketio.AsyncServer(async_mode='asgi', json=BaseModelJSON, cors_allowed_origins=[], namespaces=["*"], **kwargs) asgi = socketio.ASGIApp(socketio_server=self.sio, socketio_path="/") app.mount("/socket.io", asgi)

My Problem was that i mounted as "/socket.io" and my socketio_path was also "/socket.io" so my routes weren't found

lrosch avatar Oct 26 '23 18:10 lrosch

Not sure if you still need help with this, but #50 fixes this issue.

@BuckLearnsCode @lrosch

Artucuno avatar Nov 26 '23 02:11 Artucuno