Diskuze: Realtime příspěvky - detekce
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Principialne to funguje jako chat. V intervalu nactes nove prispevky. Ve tvem
pripade jen cislo, pocet neprectenych.
httprequest -> php -> sql -> text/html/js
Cili, tak ci tak nejspis budes muset doprogramovat cele chatovaci rozhrani.
S temi sockety, to je zajimava myslenka, to by resilo rychlost a usporu dat.
Musel bys s kazdym uzivatelem vytvorit spojeni a udrzovat, dokud se neodhlasi.
Takovy socket server se da resit i v php. Musel bys mu ale nastavit time na -1,
nekonecno pres ini_set. Bezne php scripty maji limitovany cas jejich
spusteni.
Chat ten mě čeká možná také a trochu jsem si uvědomil, že jsem sdělení výše trochu pomíchal. Jedna věc jsou notifikace a druhá věc jsou reakce na příspěvek kde to samozřejmě bude fungovat jak říkáš podobně/stejně jako je chat.
Pollování je špatně, při dostatečném množství klientů ti to shodí
jakýkoli rozumný server. Mělo by se to řešit websocketem. Php ale není
úplně ideální pro udržování neustálého spojení (jde to, ale je to
takové "meh").
Místo toho se potom používá třeba node.js aplikace, to je na tohle
technologie jako dělaná.
Tím pollováním předpokládám narážíš hlavně na omezený počet spojení ? Cílem určitě je, že to bude využívat několik tisíc uživatelů. Bohužel ale mám dost omezené možnosti, jsem rád že jsem si udělal MVC na ajaxovém volání, které mi díky struktuře šetří mnoho času a přemýšlení nad logikou a čistotou.
Co se týká notifikací, tak tam by dotaz probíhal 1x za 30s až za 1 minutu, což mi možná ještě připadá v pohodě. Co se týká příspěvků/komentářů, tak bych detekci mohl sjednotit s notifikacemi. V tomto případě bych musel snížit opakovaný dotaz na 30s. A chat se ještě uvidí, protože je dost možné, že by se použilo řešení nějaké třetí strany.
Php web-socket server mam. 13k kodu. A aby to melo nejakou funkcionalitu, tak 20k. PHP je ale pomale proti C, takze by bylo lepsi nainstalovat uz hotove reseni, do linuxu, treba. Podobne pro chat uz primo hotovy RTC server. C a PHP je dost rozdil. Nicmene, u tech notifikaci predpokladam max 30 lidi online. Ono se to da optimalizovat, ze zbytecne neposila notifikace, kdyz uzivatel jeste nezmenil status, ze si je zacal cist. Cili, jestli mu tam blika obalka pro 1 zpravu nebo 10 je uz celkem jedno.
To by byla krása, kdyby to šlo. Každopádně na serveru běží redakční systém, který využívá dalších xxx lidí a funguje přes to dost velká spousta webů. Takže takové zásahy pro jeden web nepřipadají v úvahu.
Nevím podle čeho počítáš kolik lidí na jednou online dokáže být, protože si nemyslím, že by číslo bylo takhle nízké. Však za 30s 100 spojení není vůbec velké číslo. Na víc načítat celý web je mnohem náročnější, než jen konkrétní ajaxový dotaz.
Také jsem si říkal, že bych mohl detekovat zda jsi v komentářích a to podle několika faktorů. Jednak zda jsi prováděl zrovna nějakou konverzaci, pravděpodobně očekáváš odpověď. Samozřejmě jen do určitého času, také podle toho zda máš na kliknuté komentáře a možná i nějaká kontrola myšky zda se nachází nad posledním příspěvkem kde probíhala diskuze. V opačném případě by to klidně stačilo 1x za minutu . Samozřejmě to popisuji hodně zjednodušeně a již teď vím že to bude velké ...
Zobrazeno 7 zpráv z 7.