PDA

Prikaži potpunu verziju : C# i socket programiranje


Mali Meda
20.2.2012, 21:48
Zdravo,

Imam jednu nejasnocu oko socket programiranja pa ako moze neko da mi objasni...
Napravio sam klijent i server aplikaciju u C#-u. Prvo serveru zadam port pa ga dignem a zatim klijentu zadam ip adresu od servera i odgovarajuci port i to sve radi kada sam na lokalnom racunaru (i klijent i server su na istom racunaru).

Ukoliko server namestim na jednom racunaru a klijenta na drugom dolazi do problema (pretpostavljam zbog firewall-a ili proxy-a ...).
Da bi oni komunicirali ne sme postojati firewall ni na jednom racunaru (da bi port kroz koji saljem podatke ili primam bio slobodan) ?

Pretpostavljam da je odgovor na postavljeno pitanje "Da".
Ukoliko je tako, kako da kroz kod programa podesim slobodan prolaz u oba smera (da ostvarim komunikaciju) bez da cackam podesavanja firewall-a ?

Jednom sam radio sa web-servisima i tada sam proxy podesavanja postavljao u okviru objekta kojeg sam dobio na osnovu wsdl fajla (podesim proxy port ime, lozinku ...).
Da li ovako nesto moze i kod socket programiranja? :confused:

Pozdrav

zokocx
20.2.2012, 23:07
Treba mi malo detalja u vezi pitanja, kakva je konfiguracija mreze (LAN, net preko routera, ili direktno).
Posto vidim da nisi siguran ,tako ni ja a ni ostali ne mogu da ti daju pouzda odgovor.

Ja sam jos davno nesto skoro iz prve uspeo da postignem, drug se spojio cak iz Slovacke ,ali verovatno zbog negovog univerzitetskog neta nije uspeo da dobije podatke ali meni javilo da se on spojio... FTP je bio u pitanju... nisam probao da to poboljsam.

Plus cuo sam da su Socketi u .NET u verziji <3.5 strasan krsh, da jedino 3.5 malo valjaju a 4.0 su vec ok.

Mali Meda
21.2.2012, 0:37
Poenta cele price jeste da se omoguci povezivanje bez obzira da li je preko rutera u lanu ili preko proksija...
Pretpostavka je da je server na statickoj ip adresi (ako se i nalazi iza proxija onda je podeseno da preusmeri pravilno zahtev tako da server nije problem) a klijent moze biti u bilo kojoj kombinaciji povezivanja na net. Na taj nacin iz bilo koje vrste mreze mogu kontaktirati server s time da ako imam proksi, na strani klijenta, moram postaviti potrebne parametre (ime, port, user name i pass). Na taj nacin bi trebalo da mogu uvek pristupiti datom serveru.
Da li znas neki primer ili link gde mogu videti kako se podesavaju navedeni proksi paramtri?
Koristim .NET4.0 i TCP socket

irreal
28.2.2012, 0:43
Ne bi trebao, sve i da mozes, da cackas korisnikov firewall! Ako neko zeli da blokira tvoj .exe fajl, port na koji se konektuje ili ip na koji se konektuje, to je to, blokriace ga.

Ono sto ti mozes da uradis je da se konektujes na port 80 ili 8080 jer oni skoro nikada nisu blokirani.