[ glorius @ 25.01.2013. 18:51 ] @
Razmisljanje oko naslova teme i gde je postaviti mi je verovatno uzelo vise vremena od pisanja sadrzaja teme ali posto je client deo Chat aplikacije zamisljen da bude u C++ (Qt) postavio sam je ovde...
Tumarao sam po netu ali nisam uspeo da nadjem konkretne informacije kako napraviti server-side za chat sistem.

Vec sam pravio sajtove i postavljao ih na freehosting pa me zanima da li se freehosting sajtovi mogu iskoristiti i za postavljanje chat servera? Akcenat nije na tome da li sajt treba da bude free vec da li se sajtovi koji hostuju web stranice mogu iskoristiti za postavljanje chat servera koji je opet neka vrsta aplikacije ili servisa.

Nemam mnogo iskustva sa internet programiranjem ali mi se cini da je izrada funkcionalnosti server dela chat sistema najbolja da se odradi u C# (.NET) ali bi mi savet oko ovoga svakako koristio.
[ gosha @ 25.01.2013. 20:08 ] @
To je najbolje uraditi u http://golang.org/

[ Predrag Supurovic @ 25.01.2013. 20:36 ] @
Da bi stavio apliakciju radjenu u C# na server obicno ti trebaju root privilegije. Tesko da ces to naci besplatno, pogotovo sto chat serer, ma kako banalno izgledao ume da trosi mnogo resursa.

Ako ti to treba vise pokazno onda mozes chat server da napravis i u PHP (a to mozes da stavis i na free hosting). Najosnovnija funkcionalnost se moze napraviti vrlo jednostavnim kodom.
[ Shadowed @ 25.01.2013. 21:26 ] @
To nije tacno.
u C#-u moze napraviti web aplikaciju za cije instaliranje mu nisu potrebne root tj. admin privilegije i moze se takodje koristiti free hosting ili neki jeftin, kako god.
[ Predrag Supurovic @ 26.01.2013. 00:27 ] @
Aha, baš će neko da mu to dozvoli...

[ Shadowed @ 26.01.2013. 12:05 ] @
Sta da mu dozvoli? Da stavi web aplikaciju na web server? Ovaaaj, ti znas da je to ono cemu web hosting zapravo sluzi?
[ glorius @ 26.01.2013. 14:37 ] @
Hvala na odgovorima.

Citat:
Predrag Supurovic
Ako ti to treba vise pokazno onda mozes chat server da napravis i u PHP (a to mozes da stavis i na free hosting). Najosnovnija funkcionalnost se moze napraviti vrlo jednostavnim kodom.


Server deo zamisljam kao bazu podataka usera gde svaki user ima podatke kao sto su ime, slika i listu usera koje ima u kontakt listi tako da bi funkcije na serveru trebale da budu otprilike ovakve:

- addNewUser(string name);
- addContactToUser(string user, int contactID) ;
- sendMessageToContacts(string user, int contactID[]); // mogucnost broadcastovanja poruke ka vise usera (multichat)
- checkForNewMessage();
...

Kao sto rekoh, nemam mnogo iskustva u internet programiranju pa cu morati da zadjem malo vise u detalje kako da dodam ovu funkcionalnost i postavim je, zajedno sa bazom, na server.
Ideja mi je da ove funkcije dodam u obliku C# aplikacije.

Radio sam malo i u PHP ali nemam dovoljno iskustva da bih znao da napravim ovako nesto u njemu.
[ Predrag Supurovic @ 26.01.2013. 15:38 ] @
Citat:
Shadowed: Sta da mu dozvoli? Da stavi web aplikaciju na web server? Ovaaaj, ti znas da je to ono cemu web hosting zapravo sluzi?


Pogledaj kontekst diskusije. Ne pričamo o dedicated ili VPS hostingu.
[ Shadowed @ 26.01.2013. 15:46 ] @
Ni ja.
[ glorius @ 26.01.2013. 19:33 ] @
Da li je ovo mozda ono sto meni treba:

http://www.codeproject.com/Art...nsuming-Your-First-WCF-Service

[ Shadowed @ 26.01.2013. 19:56 ] @
Da, to je jedna od mogucnosti. Jedino sto tebi klijent nece biti web aplikacija kao na tom linku vec tvoja win aplikacija. Jedino ne znam kako stoji konzumacija WCF servisa iz c++a. Ako koristis MS-ov C++.NET ili kako se tacno zove (ne radim u c++-u) trebao bi imati pristup celom framework-u pa i delu za WCF pa ne bi trebalo biti komplikovano.
[ glorius @ 26.01.2013. 20:52 ] @
Da da, klijent aplikaciju cu raditi u Qt-u (C++).
Po meni je, ispravite me ako gresim, komunikacija izmedju client i server delova pomocu Request/Response, tj. ispod haube se razmenjuju XML-ovi izmedju client i server-a.

Ok, mislim da cu dalje moci sam, jedino da vidim jos kako se WCF generisani fajlovi postavljaju na server i kako ide komunikacija, tj. pozivanje funkcija sa servera.

http://qt-project.org/doc/qt-4.8/demos-embedded-weatherinfo.html

Ovo je primer u C++ (Qt) kako se pristupa servisu za info o vremenu koji se nalazi na google-ovim serverima. Aplikacija dobija xml i parsira. Planiram nesto analogno tome da uradim i sa mojom aplikacijom. Mozda se nadje i elegantnije resenje :)
[ blekmor @ 08.02.2013. 18:54 ] @
Cisto da napomenem da izrada chat-a (osim ako ne pricamo o nekom grupnom chat-u) uopste nije naivna stvar. Kad kazem izrada onda mislim na kompletnu implementaciju klinet/server. Ukoliko zelis da napravis nesto "ozbiljnije", onda takav poduhvat zahtjeva dosta planiranja i izucavanja. Npr treba da se odlucis koji protokol ces da koristis(naravno ako pricamo o necemu ozbiljnijem), pa da izucis taj protokol, pa da sve isplaniras, a onda sama implementacija ne predstavlja veci problem. Zelim da kazem da se ne upustas olako u tako nesto. Naravno ukoliko radis za sebe, kako bi vjezbao programiranje, onda ovo sto sam napisao nema veze ! :)
Pozdrav
[ glorius @ 09.02.2013. 02:17 ] @
Slazem se sa tobom Blekmor.

Izrada klijent dela mi nije problem, radicu ga u Qt koji solidno znam.
Jedino sto nisam radio skoro nista sa klijent server arhitekturom... Radio sam na nekom projektu koji je koristio xmpp, chat protokol, za koji mi se cini da je peer-to-peer. Koliko razumem to je decntralizovan nacin chatovanja (bez servera), ispravite me ako lupam.

Generalno, ako uspem da napravim chat sa jednom osobom onda broadcasting ka vise osoba nece biti problem, bar koliko sam saznao dosadasnjim proucavanjem trebalo bi da funkcionise kao Observer pattern.
Aplikaciju pravim cisto za sebe, zelim da naucim klijent-server arhitekturu pa mislim da je chat (centralizovan) idealan za to posto ce morati da koristi bazu podataka, servise, komunikaciju pomocu xml itd...

Inace, ideja je da napravim chat sistem koji je identican MSN-u, posto se uskoro gasi a volim MSN tako da cu biti zadovoljan ako odradim projekat do kraja :)



[ blekmor @ 12.02.2013. 02:40 ] @
Xmpp protokol ti definise komunikaciju(message i presence), a sad kako ces ga ti implementirati i iskoristiti, to je na tebi. Moj prijedlog je da koristis server koji ce biti posrednik(iskreno, ne znam kako drugacije da uradis). Ukoliko planiras da koristis xmpp predji pogledom preko njegovih RFCova, pa procjeni da li ces njega da koristis. Nije tezak, jasan je i zastupljen. Javi kako ide projekat i sta si odlucio!
[ Shadowed @ 12.02.2013. 11:47 ] @
Citat:
glorius: Koliko razumem to je decntralizovan nacin chatovanja (bez servera), ispravite me ako lupam.

Delimicno si u pravu. Ima server ali ima vise servera i svako moze instalirati svoj. Slicno kao kod mail-a (cak su i ID-evi u istom formatu). Mozes komunicirati sa ljudima na drugom serveru osim ako na tvom nije bas podeseno da ne moze.

Ako radis za sebe, sve zavisi koliko low level hoces da ides. Mozes da koristis socket-e i svoj protokol i sve sam odradis. Mozes WCF a mozes i xmpp pa samo da implementiras klijent i server. A mozes i koristiti gotov server i programirati samo klijent. A cak i tu mozes koristiti gotovu biblioteku pa se usredsrediti na GUI.
Dakle, imas sirok izbor :)