python-socketio 와 FastAPI
Python 의 표준 Socket.IO 서버는 python-socketio 야. ASGI 와 FastAPI 통합을 지원하고 수평 확장을 위한 Redis 관리자도 제공해. REST 엔드포인트용 FastAPI 앱과 AsyncServer 기반 Socket.IO 서버를 만든 뒤 둘을 ASGIApp 으로 감싸 Uvicorn 에서 함께 제공하는 패턴을 써.
연결 시 인증
Socket.IO 의 connect 처리기는 쿼리 문자열이나 헤더와 별도로 auth 딕셔너리를 받아. 클라이언트가 SDK 의 auth 선택지로 전달하는 값이야. 검증에 실패하면 ConnectionRefusedError 를 일으켜 클라이언트가 연결 성공 상태를 전혀 보지 않게 해. 사용자 신원은 sio.save_session(sid, ...) 에 저장해 다음 처리기에서 사용하면 돼.