![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 5.01.2008 Skąd: Czwarty Świat Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Ostatnio dręczy mnie (nie daje spać po nocach! ![]() Ogólnie chodzi o to, że jak na serwerze "stanie się coś", np. user dostanie wiadomość, to właśnie serwer wysłał w pewien magiczny sposób ów informację do skryptu w otwartym oknie przeglądarki, który to już zajmie się dalszą interpretacją. I właśnie interesuje mnie ten "magiczny sposób". W przykładzie: 1. User1 i user2 logują się. 2. User2 wysyła do usera1 wiadomość i w tym momencie następuje wysłanie o tym informacji do usera1. 3. Skrypt u usera1 interpretuje informację i pobiera z serwera wiadomość. Jednocześnie skrypt u usera1 nie wysyła co x sekund prośby do serwera o wyświetlenie wiadomości. Czy coś takiego jest w ogóle możliwe za pomocą PHP i JS (AJAX)? Czy jednak do tego niezbędne jest już pisanie osobnych programów? Pozdrawiam, Leo van Damon. P.S.: Jeśli zły dział/mało info, proszę się na mnie nie rzucać, tylko po prostu powiedzieć, o co konkretnie chodzi. Napiszę więcej. Ten post edytował leovandamon 1.02.2010, 19:05:15 -------------------- Mój blog: http://test.dragonsheart.eu/
DH Corp: http://www.dhcorp.pl/ |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Używają technologii ajax serwer nie może wysłać informacji sam z siebie do klienta (taka jest specyfika protokołu http). Żeby to umożliwić potrzebne są inne technologie (np flash media server, aplety javy nawiązujące stałe połacze) oraz inne które nawiązują stałe połączenia z klientem.
Korzystają z ajaxa, flasha odpytujesz co jakiś czas serwer czy coś nowego nie przyszło do Ciebie, czyli w skrócie czy serwer posiada informacje "do odbioru" dla odpytującego klienta. Ten post edytował wookieb 31.01.2010, 22:07:17 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 5.01.2008 Skąd: Czwarty Świat Ostrzeżenie: (0%) ![]() ![]() |
W takim razie mówi się trudno.
Dzięki serdeczne za szybką odpowiedź. Pozdrawiam, Leo van Damon. -------------------- Mój blog: http://test.dragonsheart.eu/
DH Corp: http://www.dhcorp.pl/ |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Używają technologii ajax serwer nie może wysłać informacji sam z siebie do klienta (taka jest specyfika protokołu http) ale nie musi też dostawać odpowiedzi od razu ![]() Korzystają z ajaxa, flasha odpytujesz co jakiś czas serwer czy coś nowego nie przyszło do Ciebie, czyli w skrócie czy serwer posiada informacje "do odbioru" dla odpytującego klienta. ...więc nie musi odpytywać tego serwera regularnie... Czy coś takiego jest w ogóle możliwe za pomocą PHP i JS (AJAX)? z tego co się orientuję jednak jakoś tego nie testowałem to można, a jak to pomału już śpieszę z odpowiedzią. jako, że tutaj może się przydać rozwiązanie ala cron'a w php lub ogólnie żeby serwer sam u siebie w pętli sprawdzał czy ma coś wysłać to proponuję także zapoznać się z tematem który deczko się rozwinął na oftopick: uruchamianie pliku php co 30s bez właczonego kompa - na serwie i dalej co do tego co napisałem, że nie koniecznie trzeba odpowiedź wysłać odrazu to luknij na przykład i go uruchom:
jednak tu też odsyłam do komentarzy w manualu pod funkcjami flush i ob_flush - gdyż np. w ie deczko inaczej się wyświetli - na operze już chyba od 5 wiersza dopiero wyświetla, na mozilli odrazu (ale to są różnice w wyświetlanu strony w przeglądarkach tylko) zresztą co tu dużo się rozpisywać - luknij i poczytaj tutaj: HTTP Streaming - masz tam też linki... w dużym skrócie ogólna idea jest taka, że nawiązujesz połączenie i nie udzielasz odpowiedzi dopóki coś się nie stanie - zostawiasz otwarte połączenie... ogólnie taką komunikację można oprzeć na ajax'ie lub dhtml'u... w podanym linku są też odnośniki do takich projektów jak np. Ajax Push Engine i kilku innych... ps. a propo samego dhtml'a i sprawdzania czy już jest uzyskana odpowiedź (załączona biblioteka w całości) temat był poruszany tutaj: [JavaScript]Załączanie prototype poprzez js - zamiast skryptu w dhtml'u można przesłać json'a Ten post edytował zegarek84 1.02.2010, 00:20:56 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 3 Dołączył: 5.01.2008 Skąd: Czwarty Świat Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję bardzo, czyli jednak się da.
Skrypt już przygotowałem, zaraz będę doklejał to do projektu. Dzięki jeszcze raz. Kocham to forum... ![]() Pozdrawiam, Leo van Damon -------------------- Mój blog: http://test.dragonsheart.eu/
DH Corp: http://www.dhcorp.pl/ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 21:12 |