init commit
This commit is contained in:
123
server_test.py
Normal file
123
server_test.py
Normal file
@@ -0,0 +1,123 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Простой скрипт для тестирования доступности сервера
|
||||
"""
|
||||
import socket
|
||||
import requests
|
||||
import sys
|
||||
|
||||
def test_tcp_connection(host, port):
|
||||
"""Тестирует TCP подключение к серверу"""
|
||||
try:
|
||||
print(f"🔍 Testing TCP connection to {host}:{port}")
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.settimeout(5)
|
||||
result = sock.connect_ex((host, port))
|
||||
sock.close()
|
||||
|
||||
if result == 0:
|
||||
print(f"✅ TCP connection successful to {host}:{port}")
|
||||
return True
|
||||
else:
|
||||
print(f"❌ TCP connection failed to {host}:{port} (error: {result})")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"❌ TCP connection error: {e}")
|
||||
return False
|
||||
|
||||
def test_http_connection(url):
|
||||
"""Тестирует HTTP подключение к серверу"""
|
||||
try:
|
||||
print(f"🌐 Testing HTTP connection to {url}")
|
||||
response = requests.get(url, timeout=5)
|
||||
print(f"✅ HTTP connection successful: {response.status_code}")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ HTTP connection error: {e}")
|
||||
return False
|
||||
|
||||
def test_socket_io_endpoint(url):
|
||||
"""Тестирует Socket.IO endpoint"""
|
||||
try:
|
||||
socket_io_url = f"{url}/socket.io/"
|
||||
print(f"🔌 Testing Socket.IO endpoint: {socket_io_url}")
|
||||
response = requests.get(socket_io_url, timeout=5)
|
||||
print(f"✅ Socket.IO endpoint accessible: {response.status_code}")
|
||||
if "socket.io" in response.text.lower():
|
||||
print("✅ Socket.IO server detected")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ Socket.IO endpoint error: {e}")
|
||||
return False
|
||||
|
||||
def test_emulator_connection(port):
|
||||
"""Тестирует подключение с адреса эмулятора Android"""
|
||||
try:
|
||||
print(f"📱 Testing Android emulator connection to localhost:{port}")
|
||||
# Тестируем localhost (это то, что видит эмулятор как 10.0.2.2)
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.settimeout(5)
|
||||
result = sock.connect_ex(("127.0.0.1", port))
|
||||
sock.close()
|
||||
|
||||
if result == 0:
|
||||
print(f"✅ Emulator connection to localhost:{port} successful")
|
||||
return True
|
||||
else:
|
||||
print(f"❌ Emulator connection to localhost:{port} failed (error: {result})")
|
||||
return False
|
||||
except Exception as e:
|
||||
print(f"❌ Emulator connection error: {e}")
|
||||
return False
|
||||
|
||||
def main():
|
||||
server_ip = "192.168.219.108"
|
||||
server_port = 3001
|
||||
server_url = f"http://{server_ip}:{server_port}"
|
||||
|
||||
print("🚀 Starting server connectivity test")
|
||||
print(f"📍 Target: {server_url}")
|
||||
print("-" * 50)
|
||||
|
||||
# Тест 1: TCP подключение
|
||||
tcp_ok = test_tcp_connection(server_ip, server_port)
|
||||
|
||||
# Тест 2: HTTP подключение
|
||||
http_ok = test_http_connection(server_url)
|
||||
|
||||
# Тест 3: Socket.IO endpoint
|
||||
socketio_ok = test_socket_io_endpoint(server_url)
|
||||
|
||||
# Тест 4: Эмулятор Android (localhost)
|
||||
emulator_ok = test_emulator_connection(server_port)
|
||||
|
||||
print("-" * 50)
|
||||
print("📊 РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ:")
|
||||
print(f" TCP connection: {'✅ OK' if tcp_ok else '❌ FAIL'}")
|
||||
print(f" HTTP connection: {'✅ OK' if http_ok else '❌ FAIL'}")
|
||||
print(f" Socket.IO endpoint: {'✅ OK' if socketio_ok else '❌ FAIL'}")
|
||||
print(f" Emulator access: {'✅ OK' if emulator_ok else '❌ FAIL'}")
|
||||
|
||||
if tcp_ok and http_ok and socketio_ok:
|
||||
print("\n🎉 Сервер полностью доступен!")
|
||||
if emulator_ok:
|
||||
print(" Android эмулятор сможет подключаться через 10.0.2.2")
|
||||
else:
|
||||
print(" ⚠️ Эмулятор может не подключиться - сервер должен слушать на 0.0.0.0")
|
||||
else:
|
||||
print("\n🚨 ПРОБЛЕМЫ С СЕРВЕРОМ:")
|
||||
if not tcp_ok:
|
||||
print(" - Сервер не отвечает на TCP подключения")
|
||||
print(" - Проверьте, запущен ли сервер на порту 3001")
|
||||
if not http_ok:
|
||||
print(" - HTTP сервер недоступен")
|
||||
print(" - Проверьте конфигурацию веб-сервера")
|
||||
if not socketio_ok:
|
||||
print(" - Socket.IO endpoint недоступен")
|
||||
print(" - Проверьте настройки Socket.IO сервера")
|
||||
if not emulator_ok:
|
||||
print(" - Эмулятор не сможет подключиться")
|
||||
print(" - Запустите сервер с bind на 0.0.0.0:3001")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user