Czy jest jakaś bilbioteka do obsługi sieci która spełnia te wymagania?

0

Przepatrzyłem kilka bibliotek jak kryonet, netty lub chronicle ale żadna nie spełniała tych wymagań. Jest jakaś taka w internecie, czy muszę napisać swoją implementację tych problemów (nie chce mi się pisać jeżeli taka jest).

  • Zapewnia synchronizację pomiędzy serverem i klientem (tzn zmiany są od razu dzielone pomiędzy wszystkich i aktualny stan jest utrzymywany na serverze i klientach)
  • Zapewnia feature "keep alive" (tzn biblioteka umiałaby się sama połączyć po rozłączeniu)
  • Fajnie jakby miała proste api.

Znacie taką? Czy mam przed sobą kodowanie?

0

Ale zmiany czego? Stan czego jest współdzielony? Może Hazelcast?

0

Chodzi o stan symulacji fizycznej (głównie pozycje i właściwości piłek, typu prędkość i kierunek). Pisałem już o tym na forum.

Serwer trzyma stan symulacji, tzn pozycję piłek i ich prędkości etc, oraz wykonuje następne symulacje jednocześnie wysyłając stan do klientów oraz pozwalając żeby klienci mogli zmieniać tą sytuację (np działać jakąś siłą na piłki), ale w taki sposób żeby klienci mogli dostawać zsynchronizowany stan świata pomiędzy sobą.

Np żeby nie było dziwnych sytuacji kiedy dwóch klientów ruszy jedną piłką w tym samym momencie.

2

No to ja bym popatrzył na tego hazelcasta. To jest biblioteka pozwalająca na stosowanie rozproszonych struktur danych. Setup jest w zasadzie banalny i generalnie wymaga tylko importowania jara (i ewentualnie skonfigurowania adresów IP innych węzłów jeśli robisz poza siecią lokalną). A potem to już tylko

HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
Map<Integer, String> mapCustomers = instance.getMap("customers");

I voila, masz dostęp do rozproszonej mapy. Każdy węzeł może ją sobie pobrać i modyfikować a stan jest współdzielony.

1 użytkowników online, w tym zalogowanych: 0, gości: 1