Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Chat - Sposób ładowania danych
Forum PHP.pl > Forum > PHP
maksik
Witajcie,

Chciałbym zapytać jak w oparciu o PHP wykonać optymalny dla serwera chat, który pobiera w AJAX dane co kilka sekund (2-3).

1) Sposób 1 - Pobieranie danych z mysql, za każdym razem zapytanie z identyfikacją i następnie pobieranie danych z tabeli odpowiedniego identyfikatora
2) Sposób 2 - zapisywanie danych na serwerze w plikach .csv, za każdym razem otwieranie pliku/update/zapis
3) Znacie inną bardziej optymalną metodę?
kpt_lucek
3) Na load pobrać X ostatnich wiadomości, podłączyć się pod socket i na każdą nową wiadomość wysyłać powiadomienie po sockecie do "zainteresowanycH" o nowej wiadomości z wiadomością.
maksik
Możesz objaśnić czym jest socket?
phpkoder
O blać nie wiesz co to socket to ty za dużo lat nie masz albo amator.

Socket na polski to gniazdo. Socket jest interfejsem sieciowym zwykle wyróżnia się trzy rodzaje socketów UDP, TCP/IP,, RAW-socket.

Jak używasz xampp-a to będziesz musiał zedytować specjalną linijkę w przywilejach bo domyślnie socket-ty są wyłączone, a tak na marginesie znacie jakieś hostingi z możliwością wgrania tam kodu obsługującego gniazda? Nigdy nie wgrywałem takich aplikacji na publiczne nie swoje serwery.
jamSoft
odnośnie klienta (przyjemna sprawa):
https://developer.mozilla.org/en-US/docs/We...nt_applications

na stronę serwera też jakieś są w php
https://www.google.pl/search?q=php+websocke...me&ie=UTF-8
maksik
Poczytałem trochę o websocket i podobno na starszych przeglądarkach może nie działać...
Zatem chciałbym prosić o waszą opinie na temat lekkości działania dla serwera, czy lepsze jest:
1) Zapisywanie do bazy mysql i odczytywanie zawartości z mysql w Ajax co 3 sekundy.
2) Zapisywanie do pliku tekstowego i odczytywanie zawartości tego pliku poprzez fopen() co 3 sekundy?
Puszy
Cytat(maksik @ 3.07.2017, 12:44:30 ) *
Poczytałem trochę o websocket i podobno na starszych przeglądarkach może nie działać...
Zatem chciałbym prosić o waszą opinie na temat lekkości działania dla serwera, czy lepsze jest:
1) Zapisywanie do bazy mysql i odczytywanie zawartości z mysql w Ajax co 3 sekundy.
2) Zapisywanie do pliku tekstowego i odczytywanie zawartości tego pliku poprzez fopen() co 3 sekundy?


Co Ty się przejmujesz starszymi przeglądarkami.

https://caniuse.com/#search=Web%20sockets

Zgodnie z tymi danymi nawet IE od 4 września 2012 współgra z socketami. To było 5 lat temu, 99.9% użytkowników ma nowszą wersję. O takie rzeczy może się martwić portal z milionami odwiedzin gdzie zdarzają się tacy użytkownicy a nie Twój projekt z niewielkim zasięgiem.
lukas333
Proponuje skorzystać z gotowego rozwiązania https://github.com/Frug/AJAX-Chat biggrin.gif
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.