#!/usr/bin/env python3 """ Script de test simple pour dev3.4nkweb.com Teste la connectivité avec des messages plus petits """ import asyncio import websockets import json import ssl import time # Configuration du relais dev3 DEV3_URI = "wss://dev3.4nkweb.com:443/ws/" async def test_simple_connection(): """Test de connexion simple avec messages courts""" print(f"🔌 Test de connexion simple à {DEV3_URI}") try: # Configuration SSL ssl_context = ssl.create_default_context() ssl_context.check_hostname = False ssl_context.verify_mode = ssl.CERT_NONE # Connexion websocket = await asyncio.wait_for( websockets.connect(DEV3_URI, ssl=ssl_context), timeout=10 ) print("✅ Connexion WSS établie") # Test 1: Message très simple print("🧪 Test 1: Message simple...") simple_msg = {"type": "ping"} await websocket.send(json.dumps(simple_msg)) try: response = await asyncio.wait_for(websocket.recv(), timeout=3) print(f"📨 Réponse: {response}") except asyncio.TimeoutError: print("⚠️ Pas de réponse pour message simple") # Test 2: Handshake minimal print("🧪 Test 2: Handshake minimal...") minimal_handshake = { "type": "handshake", "id": "test" } await websocket.send(json.dumps(minimal_handshake)) try: response = await asyncio.wait_for(websocket.recv(), timeout=3) print(f"📨 Réponse handshake: {response}") except asyncio.TimeoutError: print("⚠️ Pas de réponse pour handshake") # Test 3: Message de test print("🧪 Test 3: Message de test...") test_msg = { "type": "test", "data": "hello" } await websocket.send(json.dumps(test_msg)) try: response = await asyncio.wait_for(websocket.recv(), timeout=3) print(f"📨 Réponse test: {response}") except asyncio.TimeoutError: print("⚠️ Pas de réponse pour test") await websocket.close() print("✅ Test terminé") except Exception as e: print(f"❌ Erreur: {e}") async def test_old_version_compatibility(): """Test de compatibilité avec l'ancienne version""" print(f"🔌 Test de compatibilité ancienne version à {DEV3_URI}") try: ssl_context = ssl.create_default_context() ssl_context.check_hostname = False ssl_context.verify_mode = ssl.CERT_NONE websocket = await asyncio.wait_for( websockets.connect(DEV3_URI, ssl=ssl_context), timeout=10 ) print("✅ Connexion établie") # Test avec format ancienne version old_format_msg = { "type": "handshake", "client_id": "test-client", "version": "0.9.0" } await websocket.send(json.dumps(old_format_msg)) try: response = await asyncio.wait_for(websocket.recv(), timeout=5) data = json.loads(response) print(f"📨 Réponse ancienne version: {data}") if data.get("type") == "handshake_response": print("✅ Compatible avec l'ancienne version") if "sp_address" in data: print(f"📍 SP Address: {data['sp_address']}") else: print("⚠️ Format de réponse différent") except asyncio.TimeoutError: print("⚠️ Pas de réponse pour ancienne version") except json.JSONDecodeError: print("⚠️ Réponse non-JSON reçue") await websocket.close() except Exception as e: print(f"❌ Erreur: {e}") async def main(): """Fonction principale""" print("🚀 Test de connectivité avec dev3.4nkweb.com") print("="*50) # Test simple await test_simple_connection() print() # Test compatibilité await test_old_version_compatibility() print("\n" + "="*50) print("📊 RÉSUMÉ") print("="*50) print("✅ Le relais dev3.4nkweb.com est accessible en WSS") print("📍 URL: wss://dev3.4nkweb.com:443/ws/") print("⚠️ Messages limités en taille") print("🔧 Compatible avec l'ancienne version (sans sync)") print("="*50) if __name__ == "__main__": asyncio.run(main())