[ ksrele @ 06.12.2014. 20:28 ] @
Pozdrav,

Pisem jedan program u VS2013 koji se kaci na server i odatle vuce podatke.
Kada se serveru pristupa iz lokalne mreze firme onda je IP servera lokalni a javni IP ne radi. A posto postoji potreba da aplikacija radi i van lokalne mreze tada aplikacija mora da se nakaci na drugu (javnu) IP adresu.

Znam da sam mogao da postavim negde na pocetku aplikacije da korisnik sam izabere da li je unutar ili van mreze pa da se na osnovu toga kreira ConnectionString ali ja sam hteo da napravim da sama aplikacija skonta da li je unutar ili van mreze.

To sam uradio tako da kada se aplikacija pokrene prvo se prikaze Login forma i onda kada korisnik upise user i pass pa klikne na "Login" dugme onda mu se na formi prikaze GIF animacija (ajax loading animation) a ja u pozadini radim pingovanje prvo lokalnog servera, pa ako on nije dostupan onda pingujem javnu IP adresu, pa ako ni ona nije dostupna onda se korisniku izbaci poruka sa greskom. Cim se sa neke IP adrese dobije ping reply tek onda se otvara glavni prozor sa podacima.
Sve to lepo radi jedini mi je problem sto mi se ona GIF animacija "zamrzne" dok traje ping.

Kako ovo da resim? Trazio sam na netu ali su mi primeri koji su ljudi nudili kao resenja totalno nejasni. Ako neko moze neki da iskopira ali samo jos da mi objasni zasto mora tako.
[ ksrele @ 06.12.2014. 22:57 ] @
Resio sam problem.
Zamenio sam sihroni sa asihronim pingom i onda sam ubacio dva tajmera, prvi proverava rezultat prvog pinga pa kada dobije rezultat AKO nije nasao prvi server startuje drugi asihroni ping ka drugom serveru i onda startuje drugi tajmer koji opet proverava da rezultat pinga pa ako je nasao server onda se nakaci na njega, proveri user i pass i dalje...

Malo je jadno resenje ali nisam mogao da skontam neko elegantnije.

Mada... sada nesto razmisljam... verovatno sam mogao da iskoristim samo jedan tajmer... sad cu da probam.