LAN komunikator ,bez serwera

0

Witam,
swojego czasu pisałem dużo programów do sieci, chaty komunikatory bawilem sie tez sterowaniem(oczywiscie na tej samej zasadzie). Ale sciagnalem teraz taki proramik RivChat, jest to komunikatorek sieciowy na lanie. Mieszkam w akademiku, jest tutaj jakies 700-800osob podpietych do tej samej sieci - jest to powod ,ze nie chce tworzyc klient->serwer bo moj komputer by padl tymbardziej moje uzytkowanie internetu.
Czy jestem (na sieci LAN) w stanie stworzyc taki komunikator ,ktory nie wymaga bezposredniego serwera,albo zeby (moze) serwer byl zmieniany czy dzielony na klientow?
w jaki sposob pisane sa takie komunikatory, zalezy mi na odpowiedzi.
Zazwyczaj piszac uzywalem TClientSocke i TServerSocket podstawowe komponenty, moze powinienem uzyc czegos innego.

p.s.W rivchat jezeli po prostu dwie osoby wlacza ten komunikator obie sa na tym samym 'chacie' bez zadnego wpisywania ip.

-jezeli ktos zna jakies przyklady, kody, pomoce - bede wdzieczny.

0

A może przy włączaniu programu, wyślij transmisję rozgłoszeniową, żeby wszystkie podłączone klienty się zorientowały że ktoś się dołączył, i ewentualnie niech odeślą odpowiedź, to twój program będzie wiedział kto jest podłączony... Powinno zadziałać. Potem, jak już masz listę IP-ków to możesz do dowolnej osoby wysyłać wiadomości. Albo do wszystkich.

0

taaa... boisz się obciążenia swojego komputera, ale wysyłania broadcastów po całej sieci już nie?
komunikator p2p to ciężka sprawa (rozproszona, ciągle aktualizowana baza danych z aktywnymi użytkownikami), proponuję ją sobie znacznie ułatwić poprzez postawienie serwera przyjmującego informacje o zalogowaniu/wylogowaniu, pingującego co kilkadziesiąt sekund/kilka minut aktywnych użytkowników, trzymającego i udostępniającego IP aktywnych userów.
jeśli jesteś w sieci LAN, to masz łącze 100Mb albo i szybsze, gwarantuję Ci, że nie jesteś w stanie takim serwerem (nawet ciągle pytanym o listę aktywnych IP) wykorzystać nawet 1% przepustowości.

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