Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Połączenia przychodzące
kangur91
post 18.05.2010, 11:27:00
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 27.07.2008

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


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?
Go to the top of the page
+Quote Post
wookieb
post 18.05.2010, 11:39:37
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://wilgucki.blogspot.com/2010/04/komun...m-w-czasie.html
Niestety nie wiem na ile jest to wydajne.


--------------------
Go to the top of the page
+Quote Post
zegarek84
post 18.05.2010, 12:09:09
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


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


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

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 Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:36