Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%)
|
Powoli zaczynam zapoznawać się z tą technologią bo dużymi krokami zbliża się do mnie konieczność zbudowania komunikatora/czatu o dużej przepustowości.
Zastanawia mnie jednak jedno. Jak już dobrze zrozumiałem to ta technologia polega na tym, że przeglądarka wysyła żądanie pod podaną stronę (php) i oczekuje na odpowiedź. Wszystko jest tu dla mnie jasne, zamiast co 3 sekund wysyłać Request HTTP to wysyła go raz i czeka na odpowiedź. Ale zastanawia mnie co ma się dziać w tym momencie w skrypcie PHP, który np. odpytuje o nowe wiadomości? Czy tutaj będzie pętla, która co sekundę (sleep) odpytuje bazę o nowe wiadomości? Jeśli tak to gdzie tu korzyść oprócz zmniejszonej liczby Requestów, które chyba nie są takim obciążaniem jak odpytywanie bazy danych co X sekund? Ten post edytował markonix 8.10.2012, 20:13:44 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
PHP jest tu po prostu złą technologią. Zdecydowanie lepiej jest mieć dostęp do całego serwera aplikacji (patrz: Java, C#), gdzie w momencie napisania wiadomości przez jednego klienta (zapytanie INSERT do bazy danych) jesteś wstanie poinformować wszystkie inne wątki (obsługujące inne żądania HTTP/WebSocket) o pojawieniu się nowej wiadomości. Wtedy też wątki te mogą pobrać z bazy danych odpowiednie dane (zapytanie SELECT), bądź w ogóle pomijając bazę danych odczytać wiadomość przekazaną wraz z komunikatem o jej pojawieniu się (w takim przypadku baza danych służy wyłącznie za archiwum konwersacji).
@sowiq: Apache przy nowym żądaniu tworzy nowy wątek do jego obsługi, nie cały proces. |
|
|
|
markonix [long polling] Krótkie pytanie 8.10.2012, 20:12:45
sowiq Po czym wnosisz, że 3 zapytania do bazy danych są ... 8.10.2012, 22:06:01
markonix Wnoszę to po tym, że po prostu baza jest zwykle wą... 9.10.2012, 00:58:39
redeemer @Crozin dobrze prawi. To nie baza danych ma być ... 9.10.2012, 10:10:56
markonix Wszystkie te technologie, które wymieniłeś wymagaj... 9.10.2012, 11:23:02
Crozin @markonix: Obecnie ceny VPS-ów są na tyle niskie, ... 9.10.2012, 11:35:49 
markonix Cytat(Crozin @ 9.10.2012, 12:35:49 ) ... 9.10.2012, 12:12:51 
redeemer Cytat(markonix @ 9.10.2012, 13:12:51 ... 9.10.2012, 13:19:42
erix CytatPo pierwsze, jeśli używasz serwera Apache, to... 9.10.2012, 11:54:37
sowiq @markonix, teraz mi się przypomniała pewna przygod... 9.10.2012, 12:16:14
erix CytatOj skrypt z koniecznością instalowania na ser... 9.10.2012, 12:28:53
markonix Jeszcze wracając do "prostego" polling.
... 10.10.2012, 11:55:37 
redeemer http://tools.ietf.org/html/rfc6202#page-15 5.5 Tim... 10.10.2012, 19:10:57
markonix Znowu wracam do problemu z long polling.
[PHP] po... 29.09.2013, 19:51:39
rzymek01 Ciekawym rozwiązaniem jest Tornado. Jest to asynch... 30.09.2013, 21:49:46 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 15:27 |