Update files
This commit is contained in:
parent
6d40f7a014
commit
0437b4d2fd
|
|
@ -40,7 +40,6 @@ def broadcast_online():
|
||||||
|
|
||||||
# Обработчик для корневого namespace (требуется для Socket.IO handshake)
|
# Обработчик для корневого namespace (требуется для Socket.IO handshake)
|
||||||
# В python-socketio для корневого namespace нужно использовать @sio.on('connect') без namespace
|
# В python-socketio для корневого namespace нужно использовать @sio.on('connect') без namespace
|
||||||
print("[WebSocket] Регистрация обработчика корневого namespace...")
|
|
||||||
@sio.on('connect')
|
@sio.on('connect')
|
||||||
async def on_connect_root(sid, environ):
|
async def on_connect_root(sid, environ):
|
||||||
"""Handle client connection to root namespace (Socket.IO handshake)"""
|
"""Handle client connection to root namespace (Socket.IO handshake)"""
|
||||||
|
|
@ -52,7 +51,6 @@ async def on_connect_root(sid, environ):
|
||||||
# Разрешаем подключение для handshake
|
# Разрешаем подключение для handshake
|
||||||
# Возвращаем True, чтобы разрешить подключение
|
# Возвращаем True, чтобы разрешить подключение
|
||||||
return True
|
return True
|
||||||
print("[WebSocket] ✅ Обработчик корневого namespace зарегистрирован")
|
|
||||||
|
|
||||||
# Namespace handlers for /mod-chat
|
# Namespace handlers for /mod-chat
|
||||||
@sio.on('connect', namespace='/mod-chat')
|
@sio.on('connect', namespace='/mod-chat')
|
||||||
|
|
@ -172,9 +170,23 @@ async def on_message(sid, data):
|
||||||
|
|
||||||
def get_socketio_app():
|
def get_socketio_app():
|
||||||
"""Get Socket.IO ASGI app"""
|
"""Get Socket.IO ASGI app"""
|
||||||
|
print("[WebSocket] Инициализация Socket.IO ASGI app...")
|
||||||
|
try:
|
||||||
|
# Проверяем зарегистрированные namespaces
|
||||||
|
if hasattr(sio, 'namespace_handlers'):
|
||||||
|
print(f"[WebSocket] Зарегистрированные namespaces: {list(sio.namespace_handlers.keys())}")
|
||||||
|
elif hasattr(sio, 'handlers'):
|
||||||
|
print(f"[WebSocket] Зарегистрированные handlers: {list(sio.handlers.keys())}")
|
||||||
|
else:
|
||||||
|
print("[WebSocket] Не удалось определить зарегистрированные namespaces")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[WebSocket] Ошибка при проверке namespaces: {e}")
|
||||||
|
|
||||||
# Socket.IO ASGI app должен обернуть FastAPI app для правильной работы
|
# Socket.IO ASGI app должен обернуть FastAPI app для правильной работы
|
||||||
# Но мы делаем это в main.py через SocketIOWrapper
|
# Но мы делаем это в main.py через SocketIOWrapper
|
||||||
# Здесь просто возвращаем ASGI app для Socket.IO
|
# Здесь просто возвращаем ASGI app для Socket.IO
|
||||||
# socketio_path указывает путь, по которому Socket.IO будет слушать
|
# socketio_path указывает путь, по которому Socket.IO будет слушать
|
||||||
return socketio.ASGIApp(sio, socketio_path='/socket.io')
|
app = socketio.ASGIApp(sio, socketio_path='/socket.io')
|
||||||
|
print("[WebSocket] ✅ Socket.IO ASGI app создан")
|
||||||
|
return app
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue