Update files
This commit is contained in:
parent
ce14cdbb4b
commit
6d40f7a014
|
|
@ -38,21 +38,21 @@ def broadcast_online():
|
|||
sio.emit('online', online_list, namespace='/mod-chat')
|
||||
|
||||
|
||||
# Создаем класс для корневого namespace
|
||||
class RootNamespace(socketio.AsyncNamespace):
|
||||
"""Root namespace handler for Socket.IO handshake"""
|
||||
async def on_connect(self, sid, environ):
|
||||
"""Handle client connection to root namespace (Socket.IO handshake)"""
|
||||
print(f"[WebSocket] 🔄 Handshake to ROOT namespace: {sid}")
|
||||
print(f"[WebSocket] Environ type: {type(environ)}")
|
||||
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
|
||||
return True
|
||||
|
||||
# Регистрируем корневой namespace
|
||||
sio.register_namespace(RootNamespace('/'))
|
||||
# Обработчик для корневого namespace (требуется для Socket.IO handshake)
|
||||
# В python-socketio для корневого namespace нужно использовать @sio.on('connect') без namespace
|
||||
print("[WebSocket] Регистрация обработчика корневого namespace...")
|
||||
@sio.on('connect')
|
||||
async def on_connect_root(sid, environ):
|
||||
"""Handle client connection to root namespace (Socket.IO handshake)"""
|
||||
print(f"[WebSocket] 🔄 Handshake to ROOT namespace: {sid}")
|
||||
print(f"[WebSocket] Environ type: {type(environ)}")
|
||||
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
|
||||
print("[WebSocket] ✅ Обработчик корневого namespace зарегистрирован")
|
||||
|
||||
# Namespace handlers for /mod-chat
|
||||
@sio.on('connect', namespace='/mod-chat')
|
||||
|
|
|
|||
|
|
@ -659,7 +659,9 @@ export default function App() {
|
|||
console.log('[Chat] Подключение к Socket.IO:', socketUrl);
|
||||
console.log('[Chat] Использование namespace: /mod-chat');
|
||||
|
||||
// Подключаемся к корневому URL, но указываем namespace в опциях
|
||||
const socket = io(socketUrl, {
|
||||
path: '/socket.io',
|
||||
namespace: '/mod-chat',
|
||||
transports: ['websocket', 'polling'],
|
||||
reconnection: true,
|
||||
|
|
|
|||
Loading…
Reference in New Issue