Php, ajax asynchrónne odpovede – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Php, ajax asynchrónne odpovede – PHP – Fórum – Programujte.comPhp, ajax asynchrónne odpovede – PHP – Fórum – Programujte.com

 

lubo0
Newbie
26. 10. 2008   #1
-
0
-

Chcel by som vedieť či sa dá spraviť asynchrónna odpoveď na ajax požiadavku. Napadlo ma naprogramovať chat, ale po chvíľkovom hľadaní na internete som zistil, že "srdce" všetkých PHP, Javascript chatov tkvie v setTimeOut("getMessage()", 1000);
Nedalo by sa to spraviť tak, že keď užívateľ odošle svoju správu, tak php script sa pozrie do databáze, zistí si údaje pripojených užívateľov, a pošle im novo napísanú správu?
Alebo tak, že každý užívateľ otvorí ajax spojenie s php scriptom, ktorý odpovie na požiadavku v momente, keď niekto napíše novú správu (teda ak nikto nič nepíše čaká)... Bolo by to možné?

Nahlásit jako SPAM
IP: 89.173.122.–
26. 10. 2008   #2
-
0
-

Ne, HTTP funguje stylem pozadavek-odpoved.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
KIIV
~ Moderátor
+43
God of flame
28. 10. 2008   #3
-
0
-

ajaxem se stejne taky musis dotazovat.... ikdyz by se dalo udelat neco jako pooling... by hodil ajax request a script by cekal maximalne treba 10sekund nebo do prvni prichozi zpravy nez by mu to odeslal zpet...

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
KIIV
~ Moderátor
+43
God of flame
28. 10. 2008   #4
-
0
-

btw takovyhle chaty jsou... rika se tomu IRC ale je to pres vlastni protokol a vlastni programy... tj ne web
ikdyz uz i web rozhrani jsou

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Prog.0
Věrný člen
28. 10. 2008   #5
-
0
-

Dalo by sa to spraviť "streamovaním". Rovnako ako keď downloaduješ nejaký veľký súbor. Vytvorí sa jedno permanentné spojenie (client->server) po ktorom stále tečú data zo servera klientovi. No pri chate sa tie data budú prenášať iba keď bude treba. Ako keby ten download "haproval". Raz to ide, chvíľu čaká... Na strane klienta využiješ to, že odpoveď servera sa pomocou xhttprequest dá čítať ihneď ako príde, nemusíš čakať na ukončenie spojenia. Ak náhodou spojenie padne, tak ho vytvoríš odznova, takže to bude môcť fungovať aj na príncípe refreshovania, aj permanentného spojenia. Ak bude chcieť klient poslať správu na server, jednoducho vytvorí paralelne ďalší request a odošle post.
Problém takéhoto riešenia je v tom, že každý klient vytvorí jedno permanentné spojenie a každé spojenie bude predstavovať jeden php script v pamäti. Ono to dosť zaťaží server... A garantujem ti, že to nebude jednoduché nakodiť, minimálne bude potrebné vyriešiť tu záťaž servera a taktiež to bude chcieť dobre sa vyhraťs javascriptom (parsovanie odpovedí, kódovanie,...)

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
28. 10. 2008   #6
-
0
-

>> ikdyz uz i web rozhrani jsou

Viz mibbit.com. Verim ale, ze tam ale maji nejakou nePHP komponentu, ktera to pripojeni na IRC resi a mibbit je pak uz jenom proxy. Vlastni webovy chat je tam resen pres normalni AJAX.

Nahlásit jako SPAM
IP: 78.102.164.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
KIIV
~ Moderátor
+43
God of flame
28. 10. 2008   #7
-
0
-

To Prog. : prog a nebo vyuzit irc server a pokud umi js i neco jako sockety tak by to melo zmaknout

Nahlásit jako SPAM
IP: 80.250.27.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Prog.0
Věrný člen
28. 10. 2008   #8
-
0
-

To KIIV : Javascript v browseri so soketmi nepohne. Browser poskytuje akurát ten xhr na odosielanie asynchronnych requestov po protokoloch, ktoré štandardne podporuje browser (http,ftp,..).
Ale java by tie sockety mohla mať, takže javascript->java->socket->irc by už mohlo ísť...

http://www.google.com/search?q=accessing+java+javascript
http://www.google.com/search?q=java+socket

Myslím však, že keď niekto robí webový chat, tak s irc serverom nechce mať nič spoločné a urobí to po svojom. Teoreticky by sa dal spraviť vlastný chat server jedným php scriptom odpáleným z príkazového riadku (cli). V php tie sockety nie sú až taký problém. Navyše by sa to databázovo dalo ľahko prepojiť so zvyškom webovej aplikácie a mohlo by to bežať na príncípe refreshovania, streamovania až po sockety cez javu...

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
lubo0
Newbie
28. 10. 2008   #9
-
0
-

A neviete niekto konkréktne ako by sa dalo naprogramovať takéto permanentné spojenie na usera? (mám na mysli konkrétny kód)
Napr. ten download súboru... Dá sa to spraviť cez PHP ?

Nahlásit jako SPAM
IP: 89.173.122.–
KIIV
~ Moderátor
+43
God of flame
29. 10. 2008   #10
-
0
-

To lubo : no dam ti zatim ukol:
- kde se zobrazuje ten potencialni chat
- kde se vykonava PHP

az todle zjistis je mozne ze prijdes i na pripadnou spojitost mezi tim

Nahlásit jako SPAM
IP: 80.188.94.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Prog.0
Věrný člen
29. 10. 2008   #11
-
0
-

To lubo : http://www.google.com/search?q=ajax+streaming

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 46 hostů

Podobná vlákna

PHP/AJAX/jQuery — založil Matthew

JQuery ajax + php — založil Marek

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý