Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenia przychodzące
Forum PHP.pl > Forum > PHP
kangur91
Czy istnieje możliwość przechwycenia połączenia w php. Używam comet'a.

Przykład:
1. Klient wchodzi na strone
2. Wysyłane jest zapytanie do serwera (serwer nie udziela odpowiedzi dzięki temu jest utrzymywane połączenie z serwerem)
3. Po stronie serwera w skrypcie do którego połączył się klient. Do tabeli z grupami użytkowników dodawane jest połączenie

Jak przechwycić połączenie i np dla kazdego z połączeń zrobić echo?
wookieb
http://wilgucki.blogspot.com/2010/04/komun...m-w-czasie.html
Niestety nie wiem na ile jest to wydajne.
zegarek84
Cytat(kangur91 @ 18.05.2010, 12:27:00 ) *
Jak przechwycić połączenie i np dla kazdego z połączeń zrobić echo?
Sockets

w pytaniu nie opisałeś technologi - trochę napisałeś o "przechwytywaniu połączenia" więc zapoznaj się z tym działem...

ale odpowiedzi można jeszcze inaczej udzielać na zasadzie "kolekcji" w bazie [czy gdzie tam chcesz]... w komentarzach w powyższym linku pisałem jak zrobić by AJAX dostawał odpowiedź odrazu a nie co sekundę odpytywać serwer [to już nie są sockety i nie pisałem o przechwytywaniu polączenia]... ale np. zamiast kolekcji to możesz skryptem zrobić połączenie do gniazda socketu i demonem od razu pisać do tego gniazda socketa [pierwszy skrypt łączący się do gniazda będzie czekał na wynik np. funkcji fsockopen [lub pfsockopen - oczywiście jest masa innych funkcji - jakoś ja te preferuję...] i dopiero po otrzymaniu odpowiedzi z demona skrypt pujdzie dalej i z buforu puścisz odpowiedź...

tutaj też jest bardziej o "kolekcji" odpowiedzi w bazie:
http://www.niusy.bajery.pl/thread/news.one....lang.php/57266 - w tym rozwiązaniu skrypt który ma dać odpowiedź do AJAX'a nie udziela jej np odrazu i działa w pętli
while(true){sprawdzam i jak coś beak;
sleep(1); // tu sekundę - ale masz funkcje nanosleep i inne - po to tylko, żeby nie zajechać serwa tym while(true)
}
// no i zwolnienie buforu wyjścia...

a konstrukcja na sockety to odpytujesz tylko gniazdo [nie w pętli] - dostaniesz odpowiedź jedziesz dalej...

tu choć mało może perzejrzyście o socketach blog:
Serwer gry. Część pierwsza.
Serwer gry. Część druga
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.