Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Delphi i P2P komunikacija

[es] :: Pascal / Delphi / Kylix :: Delphi i P2P komunikacija

[ Pregleda: 1909 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Delphi i P2P komunikacija03.07.2011. u 12:25 - pre 155 meseci
Pisem klijent za komunikaciju izmedju vise korisnika. Svi korisnici se prilikom startovanja klijenta konektuju na server, koji cuva statistiku o njima, avatare, itd. Kada korisnik klikne na nekog drugog korisnika, klijent treba da mu prikaze njegov avatar i statistiku.

Sada bih zeleo da cujem vase ideje kako je najbolje odraditi neku vrstu P2P razmene tih podataka izmedju korisnika, jer bih previse opteretio server ako bih svaki put kada treba da prikazem podatke o nekom korisniku te podatke vukao sa servera. Jel postoji neka vrsta direktne komunikacije izmedju dva kompjutera preko UDPa recimo, tako da kad korisnik klikne na nekog drugog korisnika u listi, u pozadini klijent izvrsi transakciju sa tim kompjuterom i uzme od njega podatke, tj avatar i statistiku ?
 
Odgovor na temu

rambo
Dejan Petković
Beograd

Član broj: 6095
Poruke: 190
*.dynamic.sbb.rs.



+6 Profil

icon Re: Delphi i P2P komunikacija04.07.2011. u 21:40 - pre 155 meseci
Ako se ne varam, Skype radi baš tako.

Ono što možeš da uradiš je da od servera dobiješ listu IP adresa svih trenutno aktivnih klijenata, i onda se, kada želiš da dobiješ te podatke, direktno povezuješ sa tim klijentom umesto ponovo sa serverom.

Avatari, statistika i ostali podaci o klijentima se obično čuvaju na serveru. Ono što ti možeš da uradiš da bi smanjio komunikaciju sa serverom je da uradiš neku vrstu keširanja tih podataka kod klijenta. Recimo, možeš da na serveru napraviš MD5 hash trenutnih podataka o svakom klijentu. Zatim, klijent od servera traži taj MD5 i upoređuje ga sa svojim koji predstavlja lokalne keširane podatke. Ako se razlikuju, znači da se nešto promenilo na serveru, što znači da trebaš da od servera tražiš refresh podataka. U suprotnom, na klijentu imaš aktuelne podatke.

Nadam se da će ti ovo dati ideju kako dalje da radiš
"There is a theory which states that if ever anybody discovers exactly what the
Universe is for and why it is here, it will instantly disappear and be replaced by
something even more bizarre and inexplicable. There is another theory which states
that this has already happened."
-- Douglas Adams
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Delphi i P2P komunikacija04.07.2011. u 21:50 - pre 155 meseci
Mislim da nisam najjasnije postavio problem. Ja ne znam kako da razmenim podatke sa drugim racunarom direktno, tj kako da se povezem na njega ako imam IP ? Keshiranje sam vec odradio i funkcionise na slican nacin kao sto si ti opisao. A svaki klijent prilikom konektovanja preuzme sa servera svoj avatar/statistiku tako da nema potrebe da se drugi klijenti povezuju na server da bi trazili statistiku za druge korisnike, vec mogu direktno na tog korisnika. :)

Dakle, kako da povezem dva racunara preko UDP-a, ili sta god ? :)
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Delphi i P2P komunikacija05.07.2011. u 02:19 - pre 155 meseci
OK, skontao sam, odradicu preko TCP-a, prostije je nego sto sam mislio :)
 
Odgovor na temu

Aleksandar Đokić

Član broj: 13478
Poruke: 4793
*.dynamic.isp.telekom.rs.



+638 Profil

icon Re: Delphi i P2P komunikacija05.07.2011. u 19:52 - pre 155 meseci
ako je u pitanju chat bolji ti je udp
 
Odgovor na temu

reiser

Član broj: 7895
Poruke: 2314



+102 Profil

icon Re: Delphi i P2P komunikacija05.07.2011. u 20:50 - pre 155 meseci
Nije chat nego transfer statistike, avatara i u buducnosti verovatno jos kojekakvih fajlova :) Chat je vec odradjen i ide preko servera i UDP protokola.

[Ovu poruku je menjao reiser dana 05.07.2011. u 22:36 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Delphi i P2P komunikacija

[ Pregleda: 1909 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.