[ dubrava @ 04.04.2006. 08:49 ] @
Potreban mi je savet u vezi izrade serverskog softvera koji ce opsluzivati klijente koji ce u odredjenim trenucima uspostavljati TCP konekcije sa serverom i to preko GPRS veze. Ucestalost konekcija je oko 6 u minuti pri cemu je kolicina podataka koja se razmjenjuje izmedju servera i klijenta reda velicine 100kB. Ono sto mi je potrebno je savet u vezi tehnologije koja bi se koristila ovom prilikom tj. da li koristiti Microsoft tehnologiju i koju (MFC sockets, API, I/O completion port) ili je mozda bolje upotrebiti javu.Ako bi se koristila java da li bi bile zadovoljene navedene performanse servera? Da li neko ima iskustva sa ovim i kakva? Hvala.
[ X Files @ 04.04.2006. 12:00 ] @
(Uh... bio sam ti napisao kilometarsku poruku pa kad sam pritisnuo "Pošalji odgovor", puče veze i zbogom ogovor)

Podosta sam se bavio socket-ima ali na Borland C++ Builder-u i imam pozitivna iskustva. Neki serveri koje sam
radio za LAN sa mnogo većim saobraćajem od tog koji si opisao - rade godinama maltene bez restarta.

Koristio sam kombinaciju: servisna aplikacija + socket-i upakovani u nju.

Dakle, pretpostavljam da treba da postoji:

1) Računar server.
2) Na serveru treba da bude prikačen GSM/GPRS modem preko serijskog porta.
3) na serveru treba da radi servisna aplikacija (bolje nego obična) koja će da nadgleda
serisjki port.
4) e sad... gde su tu socketi? Čuo sam da postoje neke VIRTUELNE veze u kojima se ti
obraćš GPRS uređajima preko socketa a oni interno podatke šlju serijskim portom...

Da li treba da ostvariš neku povratnu vezu sa klijentima, tipa - operacija je uspla...?


Sa Javom nemam iskustva, ali ovo sa serverskim aplikacijama i socketima mi radi godinama.
[ leka @ 05.04.2006. 13:32 ] @
Koliko ja vidim, ovde nema nista specificno - pises lepo obicni client-server program. To sto ce se na nizim (IP i nize) nivoima koristiti neka cuda na koja nismo navikli nema veze. Tvoja aplikacije je i dalje u sedmom OSI sloju (eng. "application layer"). Sta se koristi za TCP tvoju aplikaciju ne treba da interesuje, niti je interesuje - ona normalno koristi "visi" (Socket) API.

Da li ces koristiti MFC-ov Socket API, direktno Windows Socket API (licno predlazem) ili ces koristiti JAVA network klase, nebitno je ono sto je u celoj prici bitno za tvoj program je da uspostavi vezu sa ciljnim serverom i da se posalje/primi neka kolicina bajtova. To je sve.

Jos nesto - sta god da koristis na Windows-u za mrezno programiranje, znaj da to nesto, na Windowsu, UVEK u pozadini koristi Windows Socket API! :)
[ Buffy @ 05.04.2006. 14:53 ] @
Slazem se sa lekom da bi trebao da naucis Winsock API, a evo i jedan odlican tutorijal o socketima:
http://alas.matf.bg.ac.yu/~ml01172/net/programming.html
[ leka @ 05.04.2006. 15:38 ] @
Da, Bejov vodic je svakako preporucljivo stivo. :)
[ dubrava @ 06.04.2006. 08:14 ] @
Najpre hvala na odgovorima.
Jasno da je u pozadini MFC-a API i da i MFC soketi u pozadini koriste socket API strukturu, nego je, u stvari, dilema bila da li i java, s obzirom na postojanje virtualne masine koja zahteva dodatno vreme izvrsavanja komandi, moze zadavoljiti potrebne performanse servera. Zato mi je potrebno necije iskustvo u vezi izrade ovakvih aplikacija u javi.

Komunikacija izmedju klijenta po uspostavljanju veze je dvosmjerna.
[ leka @ 06.04.2006. 14:23 ] @
Odgovor je da - JAVA moze bez ikakvih problema da bude platforma na kojoj ces bazirati svoje client-server resenje.