Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX] Stałe połączenie w AJAX-ie?, temat do dyskusji
juzwa
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


Rozmawiałem ostatnio ze znajomym ,który chciał żebym mu coś tam zrobił, stronę w PHP itd, jako, że trochę się na tym znam to przeszliśmy do omawiania szczegółów i w pewnym momencie mówi mi, żeby chciał mieć coś takiego, żeby nawiązać stałe połączenie z serwerem i gdy coś się zmieni to ma to się pokazać na stronie - konkretnie chodziło o wykres.

Chodziło mu o takie coś
- w momencie uruchomienia strony wysyłanie jest przez xmlHttpRequest żądanie, które trwa przez cały czas działania strony
- cały czas są dosyłane wyniki i prezentowane na stronie w postaci wykresu
- powiedział, że się z tym gdzieś na jakiejś stronie spotkał i że to było na 100% PHP + JS (ale niestety źródła, odnośnika nie znam)

Ja trochę się na tym znam, ale specjalistą nie jestem, miałem do czynienia z AJAX-em, ale czegoś takiego nie spotkałem, na to co wiem i jak to rozumiem działanie ajaxa wydaje mi się to niemożliwe - ale może za mało wiem i niezbyt to wszystko rozumiem.

Stąd moje pytanie - czy jest możliwe zrobienie czegoś takiego w AJAX-ie (a dokładniej za pomocą PHP i JS) , żeby dostawać wyniki z serwera bez czasowego odpytywania go (czyli bez funkcji która by się uruchamiała co ileś sekund) czyli na zasadzie, że jak się coś na serwerze zmieni to wysyłam do przeglądarki i to od razu widać
Go to the top of the page
+Quote Post
MMPrime
post
Post #2





Grupa: Zarejestrowani
Postów: 79
Pomógł: 12
Dołączył: 23.04.2008

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


Teoretycznie jest to możliwe(zestaw funkcji ob_*), ale sama przeglądarka będzie zrywać połączenie.


--------------------
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #3





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Z tego co się orientuje nie nawiążesz stałego połączenia, będziesz musiał co jakiś czas wywoływać funkcje.


--------------------
Go to the top of the page
+Quote Post
Cezar708
post
Post #4





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(juzwa @ 25.04.2008, 04:51:14 ) *
Stąd moje pytanie - czy jest możliwe zrobienie czegoś takiego w AJAX-ie (a dokładniej za pomocą PHP i JS) , żeby dostawać wyniki z serwera bez czasowego odpytywania go (czyli bez funkcji która by się uruchamiała co ileś sekund) czyli na zasadzie, że jak się coś na serwerze zmieni to wysyłam do przeglądarki i to od razu widać


aby uzyskać asynchronicznie wyniki z serwera trzeba go co jakiś czas odpytywać (Request) i odpowiednio obrabiać odpowiedź (Response). Za pomocą JS i PHP nic innego nie da się zrobić. A na pewno nie istnieje coś takiego jak "stałe" zestawienie połączenia między przeglądarką a serwerem. I oficjalnie odpowiedź brzmi: NIE

ALE!

Jest pewien myk o którym już trochę wspomniał MMPrime.

Kiedyś miałem problem bo chciałem zrobić pasek postępu i potrzebne mi było "stałe zestawienie" zapytałem na tym forum czy jest coś takiego możliwe i dostałem odpowiedź, którą z powodzeniem wprowadziłem w życie.

Przejrzyj ten wątek.

Powinno Ci się sporo wyjaśnić i być może rozwiążesz swój problem


Pozdrawiam
Cezar708

Ten post edytował Cezar708 25.04.2008, 08:58:33
Go to the top of the page
+Quote Post
jacekl
post
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 7
Dołączył: 4.05.2008
Skąd: Warszawa

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


To co chcesz osiągnąć jest sprzeczne z podstawowymi założeniami HTTP, ale są sposoby, żeby to obejść - pogoogle'uj "comet web server" lub "reverse ajax", ew. zajrzyj do Wikipedii: http://en.wikipedia.org/wiki/Comet_%28programming%29

Na Sourceforge'u możesz znaleźć implementację w PHP: http://sourceforge.net/projects/comet/

JL
Go to the top of the page
+Quote Post
piotrf
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 6.05.2008

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


no wlasnie robie cos podobnego tylko mam maly problem z ... sesjami.
Trzymam sobie takie polacznie z serwerem i jest fajnie - dziala ale jak tylko puszcze kolejne żądanie do serwera to czeka az to pierwsze sie skonczy tj. nie dostaje odpowiedzi od serwera, na firebugu idealnie to widac.
Ciekawi mnie to, ze ten efekt wystepuje tylko z sesjami ( standardowe session_start )

ma ktos pomysl ?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 20:20