Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

MR - problemi sa serverskim programom (objasnjenje gradiva)

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji siročići (oni koji nemaju svoj podforum) -> Računarski kolegiji
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 14:42 pon, 26. 10. 2009    Naslov: MR - problemi sa serverskim programom Citirajte i odgovorite

ukratko...

slijedio sam primjer sa slide - a( vjezbe_04 ) sa vjezbi te sam radio program kako je i tamo pokazano... evo koda unutar main funkcije...

[code:1]int moj_Socket; // tu uticnicu pridruzujem portu 54321 pomocu funkcije bind na mojem serveru
struct sockaddr_in adresa_servera; // moj server
struct sockaddr_in adresa_klijenta; // adresa klijenta ( funkcija accept ce je popuniti )
unsigned int duljina = sizeof( adresa_klijenta );
char *dekadskiIP;

if( moj_Socket = socket( PF_INET, SOCK_STREAM, 0 ) == -1 )
perror("socket");

adresa_servera.sin_family = AF_INET;
adresa_servera.sin_port = htons( 54321 );
adresa_servera.sin_addr.s_addr = INADDR_ANY;
memset( adresa_servera.sin_zero, '\0', 8 );

if( bind( moj_Socket, ( struct sockaddr* )&adresa_servera, sizeof( adresa_servera ) ) == -1 )
perror("bind");

if( listen( moj_Socket, 10 ) == -1 )
perror("listen");

if( accept( moj_Socket, ( struct sockaddr* )&adresa_klijenta, &duljina ) == -1 )
perror("accept");

dekadskiIP = inet_ntoa( adresa_klijenta.sin_addr );

printf("prihvatio sam konekciju od %s\n", dekadskiIP );
[/code:1]

ovo mi izbacuje ko rezultat:



[code:1]bind: Socket operation on non-socket
listen: Socket operation on non-socket
accept: Socket operation on non-socket
prihvatio sam konekciju od 184.152.4.8[/code:1]

zasto imam greske na te tri funkcije?
funkcija accept sama stvara klijenta? IP - adrese 184.152.4.8
to sa accept mi nema smisla da sama stvara klijenta...
tj. ono sto sam zelio je:

1.pokrenuti ovak neki jednostavni programcic ( za server ) koji bi mi ispiso kad se netko spojio na njega
2.pokrenuti neki jednostavni programcic ( kljientski ) kojim bi se samo spojio na bas taj server iz 1.

dal to mogu napravit tu na faxu???
ukratko...

slijedio sam primjer sa slide - a( vjezbe_04 ) sa vjezbi te sam radio program kako je i tamo pokazano... evo koda unutar main funkcije...

Kod:
int moj_Socket; // tu uticnicu pridruzujem portu 54321 pomocu funkcije bind na mojem serveru
   struct sockaddr_in adresa_servera;   // moj server
   struct sockaddr_in adresa_klijenta; // adresa klijenta ( funkcija accept ce je popuniti )
   unsigned int duljina = sizeof( adresa_klijenta );
   char *dekadskiIP;
   
   if( moj_Socket = socket( PF_INET, SOCK_STREAM, 0 ) == -1 )
      perror("socket");   
   
   adresa_servera.sin_family = AF_INET;
   adresa_servera.sin_port = htons( 54321 );
   adresa_servera.sin_addr.s_addr = INADDR_ANY;   
   memset( adresa_servera.sin_zero, '\0', 8 );

   if( bind( moj_Socket, ( struct sockaddr* )&adresa_servera, sizeof( adresa_servera ) ) == -1 )
      perror("bind");

   if( listen( moj_Socket, 10 ) == -1 )
     perror("listen");

   if( accept( moj_Socket, ( struct sockaddr* )&adresa_klijenta, &duljina ) == -1 )
     perror("accept");

   dekadskiIP = inet_ntoa( adresa_klijenta.sin_addr );

   printf("prihvatio sam konekciju od %s\n", dekadskiIP );


ovo mi izbacuje ko rezultat:



Kod:
bind: Socket operation on non-socket
listen: Socket operation on non-socket
accept: Socket operation on non-socket
prihvatio sam konekciju od 184.152.4.8


zasto imam greske na te tri funkcije?
funkcija accept sama stvara klijenta? IP - adrese 184.152.4.8
to sa accept mi nema smisla da sama stvara klijenta...
tj. ono sto sam zelio je:

1.pokrenuti ovak neki jednostavni programcic ( za server ) koji bi mi ispiso kad se netko spojio na njega
2.pokrenuti neki jednostavni programcic ( kljientski ) kojim bi se samo spojio na bas taj server iz 1.

dal to mogu napravit tu na faxu???


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 15:12 pon, 26. 10. 2009    Naslov: Citirajte i odgovorite

te stvari ti je najjednostavnije testirat na istoj mašini. Tj za adresu servera uzmeš 127.0.0.1, i port neki veliki broj, tipa 5555 (da ne bi upao na nešto zauzeto). I onda 2 terminala, u jednom pokreneš server, u drugom klijent.
te stvari ti je najjednostavnije testirat na istoj mašini. Tj za adresu servera uzmeš 127.0.0.1, i port neki veliki broj, tipa 5555 (da ne bi upao na nešto zauzeto). I onda 2 terminala, u jednom pokreneš server, u drugom klijent.



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Cobs
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2008. (13:32:15)
Postovi: (206)16
Spol: muško
Sarma = la pohva - posuda
26 = 40 - 14
Lokacija: Geto

PostPostano: 15:14 pon, 26. 10. 2009    Naslov: Citirajte i odgovorite

kak bi trebo ic program za server?
po cem bi se trebo razlikovati od onog sto radimo na vjezbama?
koja funkcija ceka da se neko spoji na server i nastavlja dalje kako bi se jos netko mogo spojit?
meni accept odmah sam ubaci tog nekog klijenta i zavrsi program...

ovo mi je jasno da bi to trebalo ic s istog racunala( nisam znal sam koju IP - adresu uzet ( 127.0.0.1 ) a ni koji port ), zbog ceg mi stalno izbacuje onu gresku za socket???

zasto se uzima IP adresa servera 127.0.0.1 ( nesto u vezi s LAN -om? )??
kak bi trebo ic program za server?
po cem bi se trebo razlikovati od onog sto radimo na vjezbama?
koja funkcija ceka da se neko spoji na server i nastavlja dalje kako bi se jos netko mogo spojit?
meni accept odmah sam ubaci tog nekog klijenta i zavrsi program...

ovo mi je jasno da bi to trebalo ic s istog racunala( nisam znal sam koju IP - adresu uzet ( 127.0.0.1 ) a ni koji port ), zbog ceg mi stalno izbacuje onu gresku za socket???

zasto se uzima IP adresa servera 127.0.0.1 ( nesto u vezi s LAN -om? )??


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 16:06 pon, 26. 10. 2009    Naslov: Citirajte i odgovorite

Fja koja čeka je listen, mislim... prouči po vježbama malo, ziher se radilo... a ako čeka na njih više, tu je neki while još uključen...

A uzima se 127.0.0.1 jer je to naka lokalna adresa (jedna od nekoliko), i najčešće se koristi baš za testiranja mrežnih aplikacija. Imaš u tome u skripti sa predavanja, tamo di su tipovi ip adresa. A port mislim da se uzima neki iznad 2000, jer su ovi ispod većinom zauzeti.
Fja koja čeka je listen, mislim... prouči po vježbama malo, ziher se radilo... a ako čeka na njih više, tu je neki while još uključen...

A uzima se 127.0.0.1 jer je to naka lokalna adresa (jedna od nekoliko), i najčešće se koristi baš za testiranja mrežnih aplikacija. Imaš u tome u skripti sa predavanja, tamo di su tipovi ip adresa. A port mislim da se uzima neki iznad 2000, jer su ovi ispod većinom zauzeti.



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji siročići (oni koji nemaju svoj podforum) -> Računarski kolegiji Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan