• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Live Chat real time

Object Storage Arubacloud
0 głosów
232 wizyt
pytanie zadane 27 maja 2019 w JavaScript przez dawid6512 Gaduła (4,550 p.)
Witam.

Planuję stworzyć chat real time pomiędzy 2 użytkownikami.

Na backend podobno PHP w takich sprawach jest oporne bo AJAX musi co jakis czas sprawdzać czy jest nowa wiadomość.

Szukam rozwiązania które pozwoli mi na odświeżenie chatu tylko i wyłącznie wtedy gdy dostaniemy nową wiadomość. Coś tam czytałem o node.js oraz socket.io, jednak w node jestem dość cienki, o wiele lepiej czuję się w PHP.

Co polecacie?

3 odpowiedzi

0 głosów
odpowiedź 27 maja 2019 przez rafal.budzis Szeryf (85,260 p.)

Na upartego w PHP da się wszystko ;) 

https://blog.piotrnalepa.pl/2015/06/11/jsphp-jak-zaimplementowac-powiadomienia-typu-push-w-aplikacji-javascript/

jednak wiele serwerów darmowych po 30 sekundach zamyka proces PHP i jest to niemożliwe do konfiguracji. Node JS jest o wiele lepszym rozwiązaniem. Wcześniej czy poźniej będziesz musiał poznać Node JS więc chyba lepiej wcześniej. PHP jest bardzo synchroniczny i to jego wada. (Nie jesteś w stanie w ramach jednego procesu PHP obsługiwać 2 userów) dlatego też w podejściu PHP musiał byś wykorzystać anty wzorzec komunikacji przez bazę danych (mysql). Podejście SSE zapewni tylko tyle ze przeglądarka będzie dostawać dane tylko gdy coś się stanie. Jednak odpytywanie się o nowe wiadomości w interwale czasowym będą odbywać się w PHP.

komentarz 27 maja 2019 przez Mariusz08 Maniak (62,300 p.)
Nie powiedziałbym że node jest jakoś duże lepsze, bo jest dosyć wolne. PHP rzeczywiście jest synchroniczne, ale obsługuje sockety
komentarz 27 maja 2019 przez rafal.budzis Szeryf (85,260 p.)
Skąd stwierdzenie że node js jest wolny ? Nodejs jak przegladarka jest w stanie obsługiwać pliki web assembly pisane w c++. Tak samo jak php potrafi korzyskor z ddl. Node wygrywa z kazdym php w wersji 5.6 :-P. Porownujac php 7.2 z node te testy ktore widziałem były zblizone w zaleznosci od konfiguracji srodowiska.

 

Z reszta dla mnie wazniejsza jest wygoda podczas pisania. A problem jest typowo asynchroniczny ;-)
0 głosów
odpowiedź 27 maja 2019 przez HaKIM Szeryf (87,590 p.)
edycja 27 maja 2019 przez HaKIM

https://github.com/kraken-php/demo-chat

Może Ci się spodobać. :)

Jeżeli chodzi o użytek komercyjny to zdecydowanie poszedłbym w rejony JS.

0 głosów
odpowiedź 27 maja 2019 przez spamator12 Nałogowiec (28,230 p.)
mozna zrobic w php, mozna w node i sockety (socket.io) i jest w miare szybko (chyba to bym wybral na projekt komercyjny - jezeli klepiesz od poczatku), mozesz w czym chcesz, to zalezy co chcesz osiagnac i z jaka baza startujesz.

Podobne pytania

0 głosów
2 odpowiedzi 122 wizyt
pytanie zadane 14 marca 2020 w JavaScript przez Śwież4k Bywalec (2,570 p.)
0 głosów
0 odpowiedzi 115 wizyt
pytanie zadane 19 czerwca 2020 w Inne języki przez XavRock Obywatel (1,390 p.)
0 głosów
0 odpowiedzi 138 wizyt
pytanie zadane 30 października 2019 w Java przez studenciak Nowicjusz (230 p.)

92,687 zapytań

141,598 odpowiedzi

320,087 komentarzy

62,047 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...