![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 190 Pomógł: 0 Dołączył: 12.02.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Spotkałem się z dwoma sposobami przesyłu danych z php do przeglądarki. Pierwszy to wysyłanie do przeglądarki gotowego kodu po zakończonej generacji go. Drugi to wysyłanie efektów pracy php na bieżąco do przeglądarki (przykład: skrypt łączący się z siecią IRC, który na bieżąco wyświetla wyniki, które otrzymuje z sieci IRC).
Co trzeba zrobić, aby osiągnąć tą drugą opcję? (a może to tylko złudzenie?) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Czy aby się opłaca to dla serwera, gdyż wysyła załóżmy 100 rekordów pobranych z jakieś tabeli w bazie, następnie pobiera dane innej, a okazuje się, że jest błąd w zapytaniu i, że tak to ujmę, na marnę poszły te Bajty wysłane przez serwer, a gość tylko nie potrzebnie pobrał ich parę. Z jednej strony masz rację. Ale rozważ taką sytuację. To pobieranie rekordów trwa powiedzmy minutę. Człowiek ma taką naturę że jak coś odpala i przez 5 sekund nic się nie dzieje, to szlag go trafia a nie wspomnę o minucie. Większośc nie doczeka tej minuty i pomyśli że jest coś zwalone i zakończy proces. A gdy będzie wyświetlana informacja o postępie, to gostek widzi że coś sie dzieje, że jest ok i wie w przybliżeniu ile jeszcze musi poczekać. Nawet jeśli przy 99% pojawi się błąd to i tak opłaca się pobrać tych pare bajtów dla spokojności użytkownika. Co do sleep(). Zostało ono zastosowane, aby te dane wyświetlaly się powoli i żeby można było zobaczyć efekt dzialania flush. Gdyby nie było sleep dane by wyskoczyly tak szybko, jakby zostały wyswietlone wszystkie naraz. pozdro |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 06:20 |