Diskuze: Když spadne server, jak udělám z klienta nový server? - networking
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Ahoj, pokusil bych se Ti odpovědět na druhou otázku ohledně hledání
ostatních klientů na sítí.
Řešil jsem stejný problém ve své hře. Po krátkém hledání jsem našel
to, co jsem potřeboval.
Stačí, když pošleš na unicastovou adresu svůj definovaný datagram.
Ostatní klienti pak budou naslouchat na stejné adrese a když přijde zpráva,
tak ji přečtou a pokud bude validní, dozví se informace o druhém
klientovi.
Pokud budeš chtít, můžu poskytnout zdroják, jak to mám
implementovaný...
Ahoj s tím zdrojákem budeš moc hodnej, ale neposílají se datagramy přes UDP? Já to mám celý v TCP, takže řeším sockety místo datagramů. Třeba to chápu špatně, ale myslím, že user data v socketu nejsou...ty jsou jenom v metadatech (port, adress, user data) packetu - datagramu. Každopádně se na to rád podívám.
Jo, já to mám taky celý v TCPku, ale pouze posílání těch multicastů
mám přes UDP.
Třídu LanServerFinder používám k přijímání multicast zpráv
v klientské části
Třídu MulticastSender používám k vysílání zpráv na
serverové části.
Může se zdát, že zatěžuji síť, ale dá se tam nastavit jednoduše
delší prodleva.
Jinak, celé je to inspirováno kódem ke sdílení LAN serveru z MC. Tam mají
tu prodlevu 1.5 vteřiny a ono to prostě funguje.
Neříkám, že ten kód je něco úžasného, ber to jenom jako příklad.
Implementoval jsem to teprve tento týden, takže ještě vychytávám
mouchy.
whoah moc dekuju...jeste jsem premyslel na to jak udelat ten server, ze kdyz spadne, tak jinej client zalozi novej...Napadlo me, ze kazdej client socket by mel nejaky ID, kazdej client by aktualizoval seznam ID vsech clientu a po padu serveru by client s nejnizsim ID zalozil server. Bohuzel nevim jak to nakodovat :/
Zobrazeno 5 zpráv z 5.