From e571292bdafb44c0a4e3261c58d721cfaa672f77 Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Sun, 9 Nov 2025 01:09:05 -0500 Subject: [PATCH] feat: add ICE Ping handling to support NAT traversal --- src/OverteClient.cpp | 10 ++++++++++ src/OverteClient.hpp | 1 + 2 files changed, 11 insertions(+) diff --git a/src/OverteClient.cpp b/src/OverteClient.cpp index 63af42d..2dfb50f 100644 --- a/src/OverteClient.cpp +++ b/src/OverteClient.cpp @@ -408,6 +408,16 @@ void OverteClient::parseDomainPacket(const char* data, size_t len) { std::cout << "[OverteClient] Ping reply received" << std::endl; break; + case PacketType::ICEPing: + // ICE ping for NAT traversal - reply immediately + std::cout << "[OverteClient] ICE Ping received, sending reply" << std::endl; + handleICEPing(payload, payloadLen); + break; + + case PacketType::ICEPingReply: + std::cout << "[OverteClient] ICE Ping Reply received" << std::endl; + break; + case PacketType::EntityData: std::cout << "[OverteClient] Received EntityData packet (" << payloadLen << " bytes)" << std::endl; parseEntityPacket(payload, payloadLen); diff --git a/src/OverteClient.hpp b/src/OverteClient.hpp index cf990f0..a60892a 100644 --- a/src/OverteClient.hpp +++ b/src/OverteClient.hpp @@ -79,6 +79,7 @@ private: void parseDomainPacket(const char* data, size_t len); void handleDomainListReply(const char* data, size_t len); void handleDomainConnectionDenied(const char* data, size_t len); + void handleICEPing(const char* data, size_t len); void sendDomainListRequest(); void sendDomainConnectRequest(); void sendEntityQuery();