Update files
This commit is contained in:
parent
15d87cf95d
commit
ce14cdbb4b
|
|
@ -19,8 +19,7 @@ sio = socketio.AsyncServer(
|
||||||
logger=True, # Включить логирование для отладки
|
logger=True, # Включить логирование для отладки
|
||||||
engineio_logger=True, # Включить логирование Engine.IO
|
engineio_logger=True, # Включить логирование Engine.IO
|
||||||
ping_timeout=60,
|
ping_timeout=60,
|
||||||
ping_interval=25,
|
ping_interval=25
|
||||||
always_connect=True # Разрешить подключение к корневому namespace
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Track connected moderators
|
# Track connected moderators
|
||||||
|
|
@ -39,12 +38,10 @@ def broadcast_online():
|
||||||
sio.emit('online', online_list, namespace='/mod-chat')
|
sio.emit('online', online_list, namespace='/mod-chat')
|
||||||
|
|
||||||
|
|
||||||
# Обработчик для корневого namespace (требуется для Socket.IO handshake)
|
# Создаем класс для корневого namespace
|
||||||
# Socket.IO сначала подключается к корневому namespace для handshake,
|
class RootNamespace(socketio.AsyncNamespace):
|
||||||
# затем клиент подключается к указанному namespace
|
"""Root namespace handler for Socket.IO handshake"""
|
||||||
# В python-socketio для корневого namespace можно не указывать namespace явно
|
async def on_connect(self, sid, environ):
|
||||||
@sio.on('connect')
|
|
||||||
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)"""
|
||||||
print(f"[WebSocket] 🔄 Handshake to ROOT namespace: {sid}")
|
print(f"[WebSocket] 🔄 Handshake to ROOT namespace: {sid}")
|
||||||
print(f"[WebSocket] Environ type: {type(environ)}")
|
print(f"[WebSocket] Environ type: {type(environ)}")
|
||||||
|
|
@ -52,9 +49,11 @@ async def on_connect_root(sid, environ):
|
||||||
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
|
||||||
# Возвращаем True, чтобы разрешить подключение
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
# Регистрируем корневой namespace
|
||||||
|
sio.register_namespace(RootNamespace('/'))
|
||||||
|
|
||||||
# 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