Czy ktos wie, jakiego algorytmu uzywaja programy p2p w rodzaju winmx? Emule - dzieli plik na kawalki, i jesli sciaga z wiecej niz jednego zrodla - sciaga INNE CZESCI. DC - pozwala na sciaganie od jednego zrodla. A taki winmx potrafi ciagnac z kilku zrodel jednoczesnie OD POCZATKU pliku... Jak to jest robione? Jak unika sie wielokrotnego sciagania tych samych fragmentow? :)
Ustala się, że od jednego klienta ciągniesz pół pliku, a od drugiego drugie pół. Jak jeden klient się rozłączy, to po ściągnięciu połówki od tego drugiego, znowu od drugiego ściąga następną połówkę. Jeśli dochodzi 3 klient, to jedna połówka jest dzielona znowu na dwa, itd. Oczywiście to najbanalniejsze rozwiązanie, ale tak to chyba mniej więcej wygląda.
Klania sie czytanie ze zrozumeniem :) W duzym przyblizeniu - opisales algorytm emule czy shareazy. Dzielenie pliku na czesci i sciaganie po kawalku od kazdego jest proste. Mnie interesuje algorytm winmx - tam jednoczesnie mozna sciagac z kilku zrodel, a sciga sie KOLEJNE porcje pliku..
tam jednoczesnie mozna sciagac z kilku zrodel, a sciga sie KOLEJNE porcje pliku..
Na poczatku pobiera sie rozmiar pliku. Nawiazuje polaczenie miedzy zrodlami i dzieli ten rozmiar na ilosc zrodel, kazde z nich sciaga okreslona ilosc bajtow z okreslonego miejsca. Na czym polega dolaczanie nowych? Patrzy sie ktore zrodlo sciagnelo najmniej i "zabiera" sie mu ilosc bajtow do sciagniecia przydzielajac je nowemu ort!.
Wydaje mi sie, ze jest to w ten sposob rozwiazane ale nie dam sobie za to glowy uciac.