Pisanie komunikatora - problem 3, czyli informacja o opisie

0

Cześć, mam kolejny problem związany z komunikatorem. Otóż zmiana opisu.
Wiadomo, jeśli osoba A zmienia opis, to wszystkie osoby, które mają ją na liście kontaktów muszą zmianę zobaczyć.

I tu pytanie, jak wysłać informacje o zmianie opisu.
Ja mam tylko jedną propozycję, ale nie wiem, czy jest dobra.

Otóż. Osoba A zmienia opis. Do serwera idzie odpowiedni pakiet np: "ZMIANA_OPISU&KTO=nick&OPIS=Nowy opis"

Serwer odbiera ten pakiet i wysyła go do WSZYSTKICH klientów aktualnie zalogowanych. Klienci odbierają i patrzą, czy osobę "nick" mają w swojej liście kontaktowej, jeśli tak, to zmieniają opis. Tylko moim zdaniem zło tego rozwiązania polega na tym, że klienci mogą dostawać kupę pakietów, w ogóle ich nie interesujących.

Przykładowo, jest 1000 osób używających komunikatora.
I teraz jeśli 50 osób w prawie tym samym momencie zmieni sobie opis, to każdy zalogowany klient dostanie 50 pakietów w bardzo krótkim czasie i niekoniecznie ich interesujących.

Czy to dobre rozwiązanie, czy jest jakieś lepsze?

0

IMVHO serwer powinien trzymać dla każdej zalogowanej osoby listę kontaktów, których zmiana statusu dana osobę interesuje i tylko takie zmiany jej wysyłać.

Inne rozwiązanie to np. klient systematycznie odpytujący serwer listą kontaktów o zmianę ich statusu..

0
coobba napisał(a)

IMVHO serwer powinien trzymać dla każdej zalogowanej osoby listę kontaktów, których zmiana statusu dana osobę interesuje i tylko takie zmiany jej wysyłać.

Inne rozwiązanie to np. klient systematycznie odpytujący serwer listą kontaktów o zmianę ich statusu..

Więc tak.

  1. Chcę, żeby lista kontaktów była na komputerze klienta z możliwością zapisania na serwerze(tak, jak w GG).
  2. Myślałem nad tym, ale to złe wyjście z tego powodu, że ktoś może mieć mnie na liście, ale ja tej osoby już niekoniecznie.
0
Juhas napisał(a)
  1. Myślałem nad tym, ale to złe wyjście z tego powodu, że ktoś może mieć mnie na liście, ale ja tej osoby już niekoniecznie.

A czy to robi jakąś różnicę? Co więcej, gg także działa w ten sposób - po zalogowaniu się program wysyła serwerowi całą swoją listę kontaktów właśnie po to, by ten wiedział, komu wysyłać informacje o statusach.

0

Koncepcja, klienta, który regularnie odpytuje serwer ma jeszcze jedną zaletę. Klient i tak musi co pewien czas pingować serwer, by zgłaszać swoja obecność. Zatem czy wyślesz do klienta dodatkowe informacje z listą zalogowanych znajomych i ich opisów czy też nie jest tak naprawdę sprawą drugorzędną.

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