Hectic 0 Zgłoś post Napisano Grudzień 8, 2010 Cześć, ostatnio zauważyłem, że pobierając plik z mojego serwera akcelerator pobierania nawiązuje tylko jedno połączenie do niego. Pobierając z innego serwera mogę sobie ustawić ilość połączeń np. 5. Jak zrobić coś takiego na moim serwerze? Proszę o jakieś wskazówki o czym mam poczytać. Z góry dzięki za pomoc. Udostępnij ten post Link to postu Udostępnij na innych stronach
theONE 526 Zgłoś post Napisano Grudzień 9, 2010 1) znajdz nazwe serwera (www lub ftp nie wiemy czym pobierasz) 2) doczytaj w dokumentacji lub google w ktorym pliku konfiguracyjnym zmienic ilosc polaczen per user 3) zmien chyba ze masz 4) hosting wspoldzielony, wtedy zalezy to od dosawcy a ograniczenie jet celowe 5) firewall tak ustawiony ze nie daje nawiazac wiecej polaczen z jednego adresu Udostępnij ten post Link to postu Udostępnij na innych stronach
Hectic 0 Zgłoś post Napisano Grudzień 9, 2010 Jest to mój serwer dedykowany. Ok czyli plik konfiguracyjny i firewall. Dzięki za pomoc. Udostępnij ten post Link to postu Udostępnij na innych stronach
Hectic 0 Zgłoś post Napisano Grudzień 10, 2010 Sprawdziłem konfigurację serwera i ustawiony jest limit 20 połączeń dla jednego ip. Przyznam, że nawet to działa problem zaczyna się gdy plik ma zostać pobrany przez php: $fp = fopen($fileLink, 'r') or die ("404"); if(isset($_SERVER['HTTP_RANGE'])) { // wznawianie list($a, $range)=explode("=",$_SERVER['HTTP_RANGE']); list($range1,$range2) = explode("-", $range); if ($range2 == '' or $range2 < 0 or $range2 >= $file['size']) { $range2 = $file['size'] - 1; } if ($range1 < 0 or $range1 > $range2) { $range1 = 0; } $new_length = $range2 - $range1 + 1; @header("HTTP/1.1 206 Partial Content"); @header("Content-Range: bytes $range1-$range2/{$file['size']}"); @header("Content-Length: $new_length"); curl_setopt($c, CURLOPT_RANGE, "{$range1}-{$range2}"); } else { // pobieranie od nowa @header("Content-Range: bytes 0-{$file['size']}/{$file['size']}"); @header("Content-Length: ".$file['size']); curl_setopt($c, CURLOPT_RANGE, '0-'.$file['size']); } @header("Content-Type: application/force-download"); @header("Content-Disposition: attachment; filename=".$file['name']); fpassthru($fp); fclose($fp); Udostępnij ten post Link to postu Udostępnij na innych stronach
Hectic 0 Zgłoś post Napisano Grudzień 10, 2010 Dzięki za pomoc już sobie poradziłem Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość N3T5kY Zgłoś post Napisano Grudzień 10, 2010 To może napisz w jaki sposób - przyda sie innym. Udostępnij ten post Link to postu Udostępnij na innych stronach
Hectic 0 Zgłoś post Napisano Grudzień 14, 2010 Głupi błąd w moim skrypcie, zamiast: @header("Content-Range: bytes 0-{$file['size']}/{$file['size']}" ma być: @header("Content-Range: bytes -{$file['size']}/{$file['size']}" czyli w całości: $fp = fopen($fileLink, 'r') or die ("404"); if(isset($_SERVER['HTTP_RANGE'])) { // wznawianie list($a, $range)=explode("=",$_SERVER['HTTP_RANGE']); list($range1,$range2) = explode("-", $range); if ($range2 == '' or $range2 < 0 or $range2 >= $file['size']) { $range2 = $file['size'] - 1; } if ($range1 < 0 or $range1 > $range2) { $range1 = 0; } $new_length = $range2 - $range1 + 1; @header("HTTP/1.1 206 Partial Content"); @header("Content-Range: bytes $range1-$range2/{$file['size']}"); @header("Content-Length: $new_length"); curl_setopt($c, CURLOPT_RANGE, "{$range1}-{$range2}"); } else { // pobieranie od nowa @header("Content-Range: bytes -{$file['size']}/{$file['size']}" ); @header("Content-Length: ".$file['size']); curl_setopt($c, CURLOPT_RANGE, '0-'.$file['size']); } @header("Content-Type: application/force-download"); @header("Content-Disposition: attachment; filename=".$file['name']); fpassthru($fp); fclose($fp); Udostępnij ten post Link to postu Udostępnij na innych stronach