Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Naprawa połączenia z serwerem podczas problemów sieciowych

Nieaktywny

Featured Replies

Opublikowano

image.png.a144663d4007d16872d3413c4a1a8bf3.png

 

Cześć wszystkim,

 

Przedstawiam przykładowe rozwiązanie dotyczące problemów z połączeniem serwera.

 

Po krótce, co to za błąd?

Problem ten pojawia się, gdy gracz próbuje nawiązać połączenie z serwerem, ale serwer nie odpowiada. W takiej sytuacji gracz otrzymuje komunikat "Zostaniesz połączony z serwerem", który wisi cały czas. Problem ten może również występować podczas teleportacji, w wyniku czego gracz zostaje zatrzymany i nie może dalej grać.

 

Rozwiązanie:

Wdrożymy specjalny mechanizm, który podczas problemów sieciowych z serwerem będzie nawiązywał kolejną próbę połączenia, co 1 sekundę. Takie rozwiązanie zostało już opublikowane na innym forum przez Kena i ma spore wady. Takie podejście, będzie generowało dodatkowe obciążenie sieci. Wdrożymy więc strategie nazywaną exponential backoff, która pozwoli na bardziej efektywne zarządzanie ponownymi próbami połączenia w przypadku błędów. W tej strategii, czas oczekiwania między kolejnymi próbami jest stopniowo zwiększany, co redukuje ryzyko nadmiernego obciążenia serwera. Użyłem tu również chrono do obsługi limitu czasu połączenia zamiast time(NULL), chrono umożliwia większą precyzję. 

 

 

Implementacja:

📂 Lokalizacja pliku: 'EterLib -> NetStream.cpp'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

📂 Lokalizacja pliku: 'EterLib -> StdAfx.h'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

 Dodaj:

🔐 Ukryta Treść 🔐

 

  • 2 tygodnie później...
  • 1 miesiąc temu...
  • 1 miesiąc temu...
  • 4 tygodnie później...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.