Update files
This commit is contained in:
parent
8f9a4ea72d
commit
c39c26b52b
|
|
@ -49,13 +49,28 @@ class RootNamespace(socketio.AsyncNamespace):
|
||||||
print(f"[WebSocket] Environ keys: {list(environ.keys()) if isinstance(environ, dict) else 'N/A'}")
|
print(f"[WebSocket] Environ keys: {list(environ.keys()) if isinstance(environ, dict) else 'N/A'}")
|
||||||
logger.info(f"[WebSocket] Handshake to ROOT namespace: {sid}")
|
logger.info(f"[WebSocket] Handshake to ROOT namespace: {sid}")
|
||||||
# Разрешаем подключение для handshake
|
# Разрешаем подключение для handshake
|
||||||
|
# В AsyncNamespace не нужно возвращать True явно, но можно
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
async def on_disconnect(self, sid):
|
||||||
|
"""Handle disconnection from root namespace"""
|
||||||
|
print(f"[WebSocket] Client disconnected from ROOT namespace: {sid}")
|
||||||
|
logger.info(f"[WebSocket] Client disconnected from ROOT namespace: {sid}")
|
||||||
|
|
||||||
# Регистрируем корневой namespace ПЕРЕД созданием ASGI app
|
# Регистрируем корневой namespace ПЕРЕД созданием ASGI app
|
||||||
root_ns = RootNamespace('/')
|
root_ns = RootNamespace('/')
|
||||||
sio.register_namespace(root_ns)
|
sio.register_namespace(root_ns)
|
||||||
print(f"[WebSocket] ✅ Корневой namespace зарегистрирован: {root_ns.namespace}")
|
print(f"[WebSocket] ✅ Корневой namespace зарегистрирован: {root_ns.namespace}")
|
||||||
|
|
||||||
|
# Также добавляем обработчик через декоратор для надежности
|
||||||
|
@sio.on('connect', namespace='/')
|
||||||
|
async def on_connect_root_decorator(sid, environ):
|
||||||
|
"""Handle client connection to root namespace (Socket.IO handshake) - декоратор"""
|
||||||
|
print(f"[WebSocket] 🔄 Handshake to ROOT namespace (decorator): {sid}")
|
||||||
|
logger.info(f"[WebSocket] Handshake to ROOT namespace (decorator): {sid}")
|
||||||
|
# Разрешаем подключение для handshake
|
||||||
|
return True
|
||||||
|
|
||||||
# Namespace handlers for /mod-chat
|
# Namespace handlers for /mod-chat
|
||||||
@sio.on('connect', namespace='/mod-chat')
|
@sio.on('connect', namespace='/mod-chat')
|
||||||
async def on_connect(sid, environ):
|
async def on_connect(sid, environ):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue