Update files

This commit is contained in:
glpshchn 2025-12-15 06:55:18 +03:00
parent 9a582f3a00
commit 469bf0fa35
2 changed files with 12 additions and 6 deletions

View File

@ -38,15 +38,19 @@ def broadcast_online():
sio.emit('online', online_list, namespace='/mod-chat') sio.emit('online', online_list, namespace='/mod-chat')
# Обработчик для корневого namespace # Обработчик для корневого namespace (требуется для Socket.IO handshake)
# Socket.IO сначала подключается к корневому namespace для handshake, # Socket.IO сначала подключается к корневому namespace для handshake,
# затем клиент может подключиться к нужному namespace # затем клиент подключается к указанному namespace
@sio.on('connect', namespace='/') @sio.on('connect', namespace='/')
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)"""
print(f"[WebSocket] 🔄 Client connected to ROOT namespace (handshake): {sid}") print(f"[WebSocket] 🔄 Handshake to ROOT namespace: {sid}")
logger.info(f"[WebSocket] Client connected to ROOT namespace (handshake): {sid}") print(f"[WebSocket] Environ type: {type(environ)}")
# Разрешаем подключение - клиент потом подключится к /mod-chat if environ:
print(f"[WebSocket] Environ keys: {list(environ.keys()) if isinstance(environ, dict) else 'N/A'}")
logger.info(f"[WebSocket] Handshake to ROOT namespace: {sid}")
# Разрешаем подключение для handshake
# Возвращаем True, чтобы разрешить подключение
return True return True
# Namespace handlers for /mod-chat # Namespace handlers for /mod-chat
@ -170,5 +174,6 @@ def get_socketio_app():
# 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 будет слушать
return socketio.ASGIApp(sio, socketio_path='/socket.io') return socketio.ASGIApp(sio, socketio_path='/socket.io')

View File

@ -665,7 +665,8 @@ export default function App() {
reconnection: true, reconnection: true,
reconnectionDelay: 1000, reconnectionDelay: 1000,
reconnectionAttempts: 5, reconnectionAttempts: 5,
timeout: 10000 timeout: 10000,
forceNew: false
}); });
socket.on('connect', () => { socket.on('connect', () => {