![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 0 Dołączył: 6.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałem stworzyć serwer pośredniczący w pobieraniu plików z sieci.
Problem jest taki, że aby umożliwić użytkownikowi pobranie danego zasobu, musi on zostać całkowicie pobrany na serwer. Ja chciałbym to tak zrobić, żeby użytkownik mógł rozpocząć pobieranie pliku, który jest dopiero pobierany na serwer. Zrobiłem test i jeśli plik na serwer nie został pobrany w 100% a użytkownik próbuje go pobrać z tego serwera to pobiera tylko tą część, któa w tym momencie jest na serwerze. Czy da się to zrobić tak, żeby user mógł pobrać w całości plik, który jest dopiero zapisywany na serwerze ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
Raczej nie, ja programuje w c# net. Ale pewnie są tacy co by umieli.
Wynik tej funkcji należałoby przesłać po sockecie Cytat function fwrite_stream($fp, $string) { for ($written = 0; $written < strlen($string); $written += $fwrite) { $fwrite = fwrite($fp, substr($string, $written)); if ($fwrite === false) { return $written; } } return $written; } ?> Utworzyć : Cytat stream.setEncoding('utf8'); stream.addListener($written, function (line) { // Pausowanie streamingu jeśli zachodziła by ku temu potrzeba stream.pause(); // make async API call... makeAPICall(line, function() { // wznawianie streamingu stream.resume(); }); }) To taki pseudokod-może ktoś to poprawi i rozwinie:) Ten post edytował Niktoś 23.07.2012, 18:02:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 08:06 |