Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Shoutbox/chatbox nie obciążajacy serwera
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
batat
Witam,

Przez kilka miesięcy korzystałem z shoutboxa opartego na pliku tekstowym i JS. Problem polegał na tym, że skrypt sprawdzał co kilkanaście sekund, czy pojawił się nowy wpis, aby na bieżąco wyświetlać rozmowy. Niestety generowało to kilkadziesiąc tysięcy zapytań do serwera dziennie (~14% wszystkich zapytań) przez co maszyna momentami strasznie zamulała, często wywalało mi błędy 503. Jest to hosting wspołdzielony w home.pl z Linii Profesjonalnej. Administracja powiedziała, że takiego ruchu na współdzielonym już nie utrzyma i proponuje mi VPS lub serwer dedykowany. Niestety ceny są dla mnie zbyt wysokie. Bez SB strona śmiga aż mi patrzeć, jednak użytkownicy bardzo go sobie cenili i chciałbym go przywrócić.

Stąd moje pytanie - czy istnieje jakiś gotowy skrypt shoutboxa, który nie będzie mi obciażał serwera poprzez ciągłe odświeżanie i zapytania http? W grę wchodzą również rozwiązania płatne, lecz bez reklam i z możliwością powiązania z moja bazą użykowników. Ewentualnie jak mógłbym przerobić swój shoutbox, aby nie bombardował ciągle serwera?

Z góry dzięki za pomoc!
erix
Jeśli do dyspozycji masz home.pl, to niestety, ale musisz zapomnieć. Raz, że to nie jest hosting, dwa - PHP średnio się nadaje do komunikacji w czasie rzeczywistym.

Do takiego chata idealnie by się sprawdził socket.io z jakimś backendem, który działałby jako demon.

Da się coś takiego zrobić na upartego w PHP, ale nie polecam, bo często okazuje się niestabilne; w Pythonie i Perlu na pewno też się da, a najprostsze we wdrożeniu jest stworzenie backendu w NodeJS (z racji, że socket.io posiada bibliotekę również do NodeJS).
Dominator
Tak jak wyżej -> NodeJS + Socket.IO

(wpisz w google: nodejs socket.io chat)
batat
Chciałbym jeszcze podbić temat. Obłusga serwera poinformowała mnie, że na moim serwerze nie ma możliwości instalacji node.js i socket.io .

Wracam więc do punktu wyjścia. Czy jesteście w stanie doradzić mi jeszcze jakieś inne rozwiązania tej kwestii? Ewentualnie wydaje mi się, że dobrym na odciążeniem SB byłoby zablokowanie odświeżania, jeżeli user nie ogląda w danej chwili SB, czyli nic nie pisze, lub okienko jest poza ekranem, ewentualnie dodanie opcji zamykania/otwierania SB. Jak najłatwiej zrobić to za pomocą JS/jQuery?

Pozdrawiam
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-2024 Invision Power Services, Inc.