Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

IM web aplikacija

[es] :: Web aplikacije :: IM web aplikacija

[ Pregleda: 1133 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

k4rl0
Localhost

Član broj: 87683
Poruke: 142
161.53.13.*



Profil

icon IM web aplikacija23.06.2010. u 12:28 - pre 168 meseci
Pozdrav,

Intereserira me ukoliko bi pokusao napraviti nesto tipa www.meebo.com koje sve tehnologije bi mi trebale ?
U principu znam da bi front-end bio HTML-CSS, JavaScript i PHP, a u back-endu npr. C ili C++.
Sto me konkretno zanima je na koji nacin bi uspostavio vezu izmedju PHP-a i C-a/C++a.
Pretpostavljam da je Meebo napravljen tako da C/C++ koriste neki library za instant messaging, a PHP podatke dohvaca od njih te ih samo prikazuje na ekranu.
Moje pitanje je ako to tako funkcionira kako uspostaviti vezu PHP<-->C/C++ , a ako ne funkcionira na taj nacin volio bi da mi netko objasni na koji nacin funkcionira ?

Hvala lijepo na svakom odgovoru.
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: IM web aplikacija23.06.2010. u 12:34 - pre 168 meseci
Radio sam slično, napisao server u C-u koristeći libpurple koji priča razne IM protokole, čuva stanje i isporučuje poruke. U ovom primeru server je držao posebnu nit za svaki IM nalog (sistem je obrađivao samo par naloga koji su primali i slali puno poruka) i sve poruke su beležene u MySQL bazu kroz MySQL C API. Za nešto kao što je meebo.com verovatno je bolje imati živi message queue i epool server, a bio bi potreban i neki event queue za dodavanje prijatelja.

Server je slušao na TCP portu i omogućavao da se na njega nakači klijent i pošalje mu komande (kako su primljene poruke išle u bazu ja sam imao samo SEND/LIST/ADD/...). Onda sam se iz PHP-a socket funkcijama kačio na server da pošaljem komande i na MySQL da pokupim poruke. Na kraju u PHP-u sam napisao API omotač oko tih socket funkcija i upita tako da se dobije lep objektni interfejs za preuzimanje i slanje poruka, upravljanje kontaktima i stanjem.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
161.53.13.*



Profil

icon Re: IM web aplikacija23.06.2010. u 13:11 - pre 168 meseci
Hvala puno na odgovoru :)

Dakle sve se u principu svodila na to da C sa MySQL API-jem pise u bazu poruke dok ih PHP nakon toga procita i ispisuje na ekran ?
Nije li to malo neprakticno ? I nije li moglo to biti izvedeno na nacin da se sve odvija na razini PHP-MySQL bez C-a .. ?

Hvala, puno mi je jasnije ;)
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: IM web aplikacija23.06.2010. u 13:29 - pre 168 meseci
Moraš ostati prijavljen na IM i između dva HTTP zahteva. Nešto mora da sluša i redovno čita sa socketa u protivnom IM server će ti prekinuti vezu. To nešto treba da omogući PHP-u povremenu interakciju od zahteva do zahteva. To nešto može da bude i PHP, Python,... libpurple je C biblioteka koja omogućava povezivanje na razne IM protokole pa mi je to bilo najzgodnije da koristim.

Server ne mora da čuva poruke u MySQL-u. Ja sam imao scenario da je PHP pružao admin panel za povremeni pregled poruka, a IM nalog je primao stotine poruka dnevno. Zato mi je bilo važno da server poruke zabeleži za stalno, pa admin kada naiđe pogleda šta je zabeleženo i odgovori. Ako imaš živu aplikaciju server može da privremeno pamti i isporučuje samo nove poruke ili da poruke smešta u neki FIFO queue pa odatle polako da prazniš, da l' prema PHP-u ili prema bazi, kako ti je volja.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: Web aplikacije :: IM web aplikacija

[ Pregleda: 1133 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.