Autor | Zpráva | ||
---|---|---|---|
RastyAmateur Profil |
#1 · Zasláno: 17. 1. 2016, 15:22:14
Dobré odpoledne,
chtěl jsem si vyzkoušet udělat online chat. Google mi nepomohl najít přesně to, co jsem potřeboval. Našel jsem několik tutoriálů, které nefungovali dle mých předtav. Pak jsem hledal zde - na diskusi, a něco málo jsem našel. Když jsem si nějak srovnal myšlenky, vylezlo několik nápadů. 1) Chat zapisovat do nějakého txt bloku a v každém časovém intervalu mazat obsah chatu a načítat soubor znovu, přičemž by bylo něco jako clear funkce (= když napíše nškdo do chatu "clear", txt soubor se zazálohuje a vymaže. 2) Vše zapisovat do databáze a dělat to tak, že v časovém intervalu se přes ajax zeptám, jestli je něco nového... 2a) A to tím způsobem, že si zapamatuju poslední čas, kdy jsem se ptal, a pak v dotazu na db se budu ptát WHERE date>'".$posledni_dotaz."'
2b) Ještě jsem našel zde na diskusi možnost, že to někdo dělá tím způsobem, že si zapamatovává počet příspěvků a pak kontroluje, jestli to číslo je větší... Napadlo mě ještě pár blbostí, ale ty jsem ihned vyřadil... Má někdo jiné řešení, lepší, nebo nějakou připomínku k těmto? U té jedničky - je mi jasný (už mi to bylo několikrát řečeno), že mazat celý blok, abych ho vypsal znovu, není dobré. Ovšem byla to nejjednodušší možnost. Děkuji, RastyA. |
||
askjustask Profil |
#2 · Zasláno: 17. 1. 2016, 16:38:57
1)Můžeš použít txt nebo xml nebo databáze
2)Nemusíš se ptá zda-li je něco nového stačí pro přidání komentář či článku přidat článek/komentář tam kam jsi zvolil viz1 To jsou ty nápady Jinak pokud by chtěl někdo smazat chat nemusíš to mazat v souboru (zase viz1) jenom napsat funkci ,která to skryje nebo ještě lépe pokud bude-li vypisování komentářů dělat javascript tak můžeš jednoduše obnovit stránku No je mnoho možností jak to udělat v tom je krása developingu |
||
RastyAmateur Profil |
#3 · Zasláno: 17. 1. 2016, 17:19:30
askjustask:
Děkuji za reakci |
||
yFang Profil |
#4 · Zasláno: 17. 1. 2016, 18:02:54
RastyAmateur:
Jako alternativu se můžeš podívat na socket.io. |
||
KryVosa Profil |
#5 · Zasláno: 17. 1. 2016, 18:06:24
1) Blbost mazat a přepisovat. Není to jednodušší. Jednodušší je mít objekt DOMu, který naduplikuješ a vložíš do nějakého elementu. Tím pádem ani nemusíš mít zprávy nikde v prohlížeči zálohované.
Clear: Doporučuju udělat v tom případě celý 'příkazový' systém. Nejlépší by bylo, kdyby všechny příkazy začínaly lomítkem ("/clear"). 2)Pak už jde jen o to, co s těmi zprávami pak budeš chtít dělat. Protože pořadí zprávy si můžeš z času a data zjistit, ale z 'id' zprávy datum a čas ne. Reloadovat stránku je holý nesmysl, stahuje se celá stránka znovu. |
||
RastyAmateur Profil |
#6 · Zasláno: 17. 1. 2016, 18:23:31
yFang:
myslel jsem na to a stejně jsem to zapomněl napsat. Nechci sockety. Četl jsem o tom v jednom vlákně tu na diskusi a nemyslím si, že je to dobrá varianta. KryVosa: Speciálnì příkazový řádek je k ničemu. Stačí to chatovací pole. Ale také děkuji za reakci. |
||
KryVosa Profil |
RastyAmateur:
„Speciálnì příkazový řádek je k ničemu“ Však všechny příkazy by se psaly rovnou do chatovacího pole. Akorát vše, co by začínalo lomítkem, by javascript zpracoval jinak. Jinak, tady je ukázkový příklad, jak se to dá udělat ošklivě a rychle. |
||
RastyAmateur Profil |
KryVosa:
Děkuji za příklad. Tak ono jestli zkoumat, zda-li to začíná lomítkem, nebo jestli je ten řetězec roven nějaké funkci, je stejné. Já si to představoval takto: $prikazy = array("clear","kick","necodalsiho"); if(in_array($_POST["zprava"],$prikazy)){ } |
||
KryVosa Profil |
#9 · Zasláno: 18. 1. 2016, 20:02:56
O to by se měl (V zájmu nepřetěžování už tak zatíženého internetového spojení) starat javascript.
Jde o to, že lomítkem žádná normální zpráva nezačíná, na rozdíl od například slova 'clear' |
||
RastyAmateur Profil |
#10 · Zasláno: 18. 1. 2016, 21:37:59
KryVosa:
Dobře, beru na vědomí :) |
||
Časová prodleva: 9 let
|
0