Strona 1 z 1

Czat w czasie rzeczywistym.

: 25 mar 2021, 09:01:55
autor: golibroda
Witam, nie prowadze zadnej strony na tym hostingu, uzywam go tylko dla bazy danych i skryptow php do obslugi tej bazy a dane ktore w niej trzymam potrzebne są dla mojej aplikacji.

Czy jest moznliwosc aby przy pomocy mysql (lub innych funkcji na cba) zrobic cos w stylu czatu w czasie rzeczywistym? Uzywam glownie funkcji http_post_string i generalnie potrafię zrobić ten czat ale problem w tym ze gdy ktos wysle wiadomosc aplikacja tego nie wie dopoki nie wysle zapytania w do mysql. Czyli wychodzi na to, że musiałbym co sekunde lub nawet częściej pobierać dane z bazy i wysylac do apki aby porownala sobie czy są jakies nowe wiadomosci a wydaje mi się że to by zabiło tą baze danych przy np 1000 uzytkownikow na raz ktorzy co sekunde spamuja zapytania.

Pytanie brzmi czy ten czat jest do zrobienia przy pomocy mysql lub innych funkcji cba i ile taka baza danych na cba moze uciagnac zapytan na raz oraz co sie stanie jezeli ten limit przekroczę? Po prostu dłużej bedzie sie czekac na odpowiedz bazy czy sie zwiesi i scrashuje xd?

Czat w czasie rzeczywistym.

: 26 mar 2021, 10:14:30
autor: endriu888
Witam

Jak przekroczy limit zapytań na godzinę, to przestanie działać mysql do następnej godziny. Nie prościej, odświeżać, tylko wtedy gdy ktoś coś napisze?, a nie co sekundę. Ogólnie zwykły serwer się nie nadaje, bo nie ma InnoDB, będzie się prawdopodobnie zawieszać.

Czat w czasie rzeczywistym.

: 30 mar 2021, 00:18:45
autor: golibroda
właśnie jeżeli nie wyślę zapytania do bazy danych to nie wiem czy ktoś napisał, nie wiem czy to jest możliwe z mysql ale widziałem na firebase tutoriale, popróbuję coś.

Czat w czasie rzeczywistym.

: 30 mar 2021, 00:49:47
autor: golibroda
a jaki jest ten godzinny limit? w sumie w tej mojej apce to lecą grubo zapytania do bazy.

Czat w czasie rzeczywistym.

: 30 mar 2021, 08:33:15
autor: endriu888
Witam

to zależy od planu, tutaj można zobaczyć parametry kont:

https://www.cba.pl/pl/oferta/hosting

Czat w czasie rzeczywistym.

: 04 kwie 2021, 21:44:55
autor: dsm51
A po co ciągle zaglądać do bazy? To ją rzeczywiście zabije.
Można przy okazji zapisu do bazy inkrementować numer zapisywany po prostu w jakimś pliku
(może to też być np. Id wiersza w tabeli z ostatnim komunikatem czatu).
Klient zagląda najpierw do pliku, a zapytanie do bazy idzie tylko wtedy, gdy numer w pliku się zmienił od poprzedniego zajrzenia.

Wesołego śmigusa-dyngusa ;)

Czat w czasie rzeczywistym.

: 05 kwie 2021, 07:58:25
autor: endriu888
Witam

ok dziękuje za informacje i życzenia :)

Czat w czasie rzeczywistym.

: 13 kwie 2021, 21:13:40
autor: golibroda
Sorry ze tak pozno odpisuje, widzialem wczesniej ale nie chcialo mi sie logowac.

Ten pomysl jest genialny, czamu sam na to nie wpadłem.

Czat w czasie rzeczywistym.

: 14 kwie 2021, 08:05:32
autor: endriu888
Witam

który dokładnie?

Czat w czasie rzeczywistym.

: 19 kwie 2021, 20:52:03
autor: dsm51
Skoro "ten pomysł jest genialny" to pozwolę sobie zasugerować dalsze usprawnienia:

[1] We wspomnianym pliku w 1. wierszu trzymamy Id ostatniego wiersza w bazie.
Dodatkowo, dalej w pliku umieszczamy te same dane, które są w bazie w najnowszym wierszu.
Gdy sprawdzając numer w pliku stwierdzimy, że zwiększył się tylko o 1,
to w ogóle nie zaglądamy do bazy, tylko bierzemy te dane z pliku.
Taka poprawka sprawi, że odczytujemy dane z bazy tylko przy dołączaniu do czatu
i jeszcze tylko, wyjątkowo, gdy w tej samej sekundzie 2 osoby lub więcej coś do czatu dodadzą.
Takim sposobem 1000 użytkowników na czacie, który nie jest mocno bombardowany nowymi wpisami,
to tylko 1000 zapytań do bazy i 360 000 wywołań skryptu PHP na każdą godzinę do odczytu
i kilkaset pewnie do zapisu.

[2] Możemy się pokusić o trzymanie w pliku np. 5 najnowszych wpisów. Czemu by nie?
Szansa na konieczność zaglądania do bazy, by odczytać wpisy w trakcie czatu - praktycznie zerowa.

Zdrówka życzę

Czat w czasie rzeczywistym.

: 20 kwie 2021, 08:31:49
autor: endriu888
Witam

ok dziękuje za informacje.

Czat w czasie rzeczywistym.

: 02 maja 2021, 00:31:28
autor: golibroda
Właściwie wyeliminowałem tą bazę danych całkowicie z tego konceptu i zrobiłem czat na pliku w którym jest ostatnie 15 wiadomości plus data z czasem i nazwa uzytkownika przy każdej z nich. I właśnie zacząłem się zastanawiać czy ciągłe zaglądanie do tego pliku z czatem także nie jest zbyt obciążające dla serwera :mrgreen:

Ale widzę, że już to policzyłeś. Przy 3 tysiącach użytkowników na raz (powiedzmy że celuję w tyle max) wychodzi koło miliona powiedzmy odświerzeń strony z plikiem txt na godzine.
Mogę to zrobić?

Nie mam pojęcia jak bardzo coś takiego jest obciążające a nie chcę wam zamulić serwera.

Czat w czasie rzeczywistym.

: 02 maja 2021, 06:53:00
autor: golibroda
w sumie zrobie odświeżanie czatu co 5 sekund i też będzie git ale tak z ciekawości, milion otworzeń takiego pliku txt na godzine to dużo czy mało?

http://uhaszysz.cba.pl/dungeon/11chat.txt

Czat w czasie rzeczywistym.

: 02 maja 2021, 08:06:33
autor: endriu888
Witam

według mnie dużo

Czat w czasie rzeczywistym.

: 02 maja 2021, 08:17:28
autor: golibroda
szkoda, że nie ma sposobu by sprawdzać coś takiego tylko po aktualizacji pliku... nie wiem, może powiadomienie push do wszystkich którzy są na czacie wysłane gdy ktoś wysyła wiadomość :D
najlepsze wyjście to chyba vpsa kupić i zrobić jakąś mini apkę co będzie odpalona tam, kiedyś miałem już podejście do tego ale poległem.