Razvoj sistema

Ova strana sadrži informacije za one koji bi želeli da učestvuju u daljem razvoju ovog sistema.

Autor je posebno zainteresovan za razvoj klienskog dela (aplikacije za mobilne telefone i chat apleta za internet strane) tako da je kod za te dve komponente dostupan svima.

Da bismo utvrdili neka osnovna pravila , predlažem da za razvojno okruženje izaberemo NetBeans 6 (project fajlovi su za to razvojno okruzenje). Pošto trenutno nemamo bolji način komunikacije vaše ideje i novi kod možete da šaljete na EMail. Posle pregleda koda ja cu postaviti najnovije vezije na web server. Smatram da veći akcent treba da se stavi na java aplet i njegovu funkcionalnost (slanje fajlova , p2p komunikacija, komunikacija mobilni 2 PC). Ako se budu implementiale nove komponente protokola (zahtevi prema serveru i odgovori idu u formatu <nesto>podatak</nesto>podatak npr <PM>Marko</PM>Zdravo znači pošalji Marku privatnu pouku Zdravo, a Marko dobija <PM>VasNick</PM>Zdravo. Upotebljavajte velika slova i kratke simbole zbog brzine i kolicine podataka).

Isto ako je neko zainteresovan da graficki sredi ove internet strane to bi bilo odlično (jedino bi zamolio da slike budu grupiane u podfolder npr img).

Posebna priča je hosting servera (servis bi mogao da bude dostupan svima 24-7 ako bi se to rešilo)

Osnovne insrukcije (dokumentacija će biti uradjena ako projekat zaživi)

Preuzmite kod za klient aplikaciju-aplet, i kod za mobilnu aplikaciju i raspakujte arhive na lokacije koje vam odgovaraju. Dok radite jednostavno držite otvorenu stranicu sa server apletom u browseru a za konekciju sa serverom možete koristiti i lokalnu adresu 127.0.0.1:5002 zato sto aplet ustvari radi na vašem browseru i vašem PC-u. Svi projektni fajlovi su za NetBeans 6 i svi su već iskompajlovani.

Šta je uradjeno:

Konekcija, prvo sto klient aplikacije je treba da urade je da pošalju svoj Nick (samo nick bez drugih znakova) . Ako im server vrati  <NK?> znači da je nick zauzet i da treba da ponove operaciju. <M></M> i <PM></PM> su javne i privatne poruke. Privatne poruke sadrže nick onog kome se šalje pri slanju i nick onog koji je poslao pri prijemu. Javne imaju isti format u oba smera i šalju se od jednog na server i vraćaju se svima sa servera.

Napomena o serveru: Ako pri otvaranju strane sa server apletom ne vidite tekst u tekst polju Server ceka na adresi ... to znaci da server ne radi (verovatno zato što druga instanca servera već radi na tom portu). Isto morate imati internet konekciju da bi server radio.

Adresa stranice sa server apletom je http://www.eurora3d.com/java/p2pchatproject/P2PServer.html

Testiranje aplikacije za mobilni:

Prvo startujte server. Otvorite aplikaciju u dve instance emulatora. U jednom pokenite pasivni mod i pustite ga da čeka SMS. U drugom pokrenite aktivni mod unesite adresu servera (127.0.0.1:5001 za lokalni) i telefonski broj drugog emulatora (broj je ispisan u naslovu emulatora , a ovo ce služiti da kasnije pošaljemo SMS) kad se konekcija sa serverom napravi aktivni mod će tražiti  da izaberete nick i poslati SMS na drugi emulator. Kad srugi emulator primi SMS konektovaće se i tražiti da izaberete nick za njega. Pasivni mod mora prvi da pošalje chat poruku aktivnom zato što on zna nick aktivnog iz SMSa (obrnuto jos ne važi). Kad aktivni primi prvu poruku tada i on zna nick sagovornika.

Za ostalo pogledajte kod.

Testiranje Klient aplikacije:

Ova aplikacija je u trenutnoj verziji java desktop aplikacija koja može da se konektuje i šalje javne poruke. Aplet kod je ukljucen ali nema funkcionalnost. Ovde bi trebalo dodati deo za traženje liste sagovornika od servera, razmenu IP adresa preko servera za direktnu komunikaciju izmedju dva apleta (privatno i bez servera). Razvio sam kod za pronalaženje svoje IP adrese i ako nekom treba poslaću mu.

 Komunikacija preko servera bi trebala da služi samo za dobijanje liste nickova , javne poruke i proceduru započinjanja privatne komunikacije bez servera ... zato što je tako brže i taj pristup štedi server.

Napomena : Mobilne aplikacije ne mogu da komuniciraju direktno zato što telefoni nemaju prave IP adrese na internetu. Pogledajte http://www.javameblog.com/

I ... da bi se pasivni mod sam pokrenuo kada telefon primi SMS na portu 5001 potrebno je da aplikacije bude instalirana na mobilnim sa interneta jad fajlom. Takva instalacija registuje aplikaciju (njen pasini mod) kao aplikaciju koja treba da bude pokrenuta kad se dobije SMS na portu 5001