Witam, nie jestem pewien czy to odpowiedni dział bo moje pytanie dotyczy po trochu programowania, ale tylko w czysto teoretycznej postaci.... kiedyś zastanawiałem się nad tym jak działają akceleratory pobierania plików z internetu (np: FlashGet)... doszedłem do takich wniosków że musi to być coś na zasadzie, że gdy rozpoczynane jest pobieranie plików tworzone są oddzielne wątki i kazdy z osobna pobiera sobie jakąś część pliku... nie jestem pewien co do mojej teori, ale jeśli tak jest to zastanawia mnie jedno, wpadłem na ten problem gdy sam chciałem napisać taki prosty akcelerator, sytuacja może wyglądać tak, użytkownik sobie klika na link na stronie... otwiera się powiedzmy FlashGet (zastanawia mnie też to jak on to robi że wykrywa kliknięcie w likn w IE ;) ) no i zaczyna się pobieranie...tworzy powiedzmy 10 wątków każdy wątek wysyła do serwera prośbę o jakiś kawałek pliku i zaczyna się transfer... ale teraz przyjżyjmy się temu transferowi powiedzmy pobieramy plik 100KB więc każdy wątek pobiera tylko po 10KB no, powiedzmy że serwer przesyła to pakietami po 1KB (wiem że tak nie jest ale to tylko tak teoretycznie) no to serwer wysyła sobie najpierw 1-szy KB potem 10-ty KB następnie 20-ty KB i tak dalej aż do 90-tego KB...i zaczyna od poczatku 2,11,21,22 itd... no ale te pakiety z danej serii przecież nie idą koło siebie tylko jeden za drugim jeśli można to tak nazwać... do tego warstwa TCP\IP ma to do siebie że czasami pakiety giną a czasami jeden dochodzi szybciej niż drugi więc gubiona jest kolejność... i teraz wreszcie dotarłem do meritum moich przemyśleń i do pytania :D W jaki sposób może to być rozwiązane że każdy wątek wie który pakiet należy do niego i który ma odebrać i zapisać??
Ciekaw jestem czy ktoś w ogóle mnie zrozumiał i jest wstanie odpowiedzieć :)
Pozdrawiam