Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przerwanie otwartego połączenia z serwerem
wree
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 2
Dołączył: 2.08.2008

Ostrzeżenie: (0%)
-----


Witam

Spędziłem ostatnie 2 godziny szukając funkcji która przerwie nawiązane połączenie z serwerem. Mam skrypt w którym użytkownik nawiązuje połączenie z plikiem video na serwerze. Włączenie video jest rejestrowane w bazie danych. Chcę zrobić tak, że gdy włączy inne video na stronie to połączenie z tamtego video zostanie przerwane. Pozwoli mi to uchronić serwer przed programami do ściągania video z czym mam ostatnio problem. Osoba wchodzi włącza taki program, włącza 10-15 video i ten program ściąga je naraz.

Dzięki przerwaniu połączenia osoba nie będzie w stanie ściągać pliku po próbie oglądania innego video ponieważ inny link do video zostanie zapisany do bazy. Podczas porównywania linku z bazy z tym co osoba chce zobaczyć właśnie chcę przerwać nawiązane połączenie do tego ostatniego video. Znalazłem tylko http://php.net/manual/pl/features.connection-handling.php ale to tylko zwraca status połączenia, ignore_user_abort ignoruje zerwanie połączenia. Nigdzie nie mogę znaleźć jak zerwać połączenie, die; nie ubija wcześniej nawiązanego połączenia. Proszę o nakierowanie mnie na coś sensownego.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


No właśnie to ograniczenie transferu, po drobnej modyfikacji będzie ci ograniczać również dostęp do pliku. Każdy jeden plik nie może ci się pobierać bezpośrednio, bez użycia php, tylko właśnie wyłącznie przy użyciu php, wtedy masz kontrole nad tym kto pobiera, z jaką prędkością pobiera (jeżeli chcesz) i ile plików jednocześnie pobiera. Można jeszcze bawić się w jakieś moduły apache do ograniczania ilości połączeń, tylko nie wiem po co (IMG:style_emoticons/default/wink.gif)

Nie wiem jak miałbym ci to prościej wytłumaczyć, robisz sobie skrypt który pośredniczy podczas pobierania pliku, zanim plik wyślesz do użytkownika, sprawdzisz czy już jakiegoś nie pobiera. Jeżeli pobiera walisz mu komunikatem po oczach, żeby nie pobierał więcej niż 1 plik jednocześnie. Tutaj masz temat: http://forum.php.pl/index.php?showtopic=112967 w którym masz opisane jak pobierać pliki (streaming) za pomocą php, wrzuć gdzieś przed pobieraniem sprawdzanie czy już pobiera, następnie dodaj sesji/bazy/gdziekolwiek informacje że pobiera a następnie wyślij taki plik userowi. Ot cała filozofia tak pokrótce. Tyle że nie używaj readfile bo przy większych plikach niestety wymięknie. Tutaj masz kolejny link: http://4programmers.net/Php/Pobieranie_pli...%82%C4%85czenia i ogólnie polecam poszukać, bo jest tyle wpisów na ten temat na różnych stronach że nie ma sensu jeszcze raz o tym pisać.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 11:32