PDA

View Full Version : [C] getsocketname: errore in compilazione


- sLiceR -
08-03-2006, 15:47
Salve ragazzi, scrivo qui sul forum di programmazione perchè ho un piccolo tecnico nell'utilizzo di una funzione (avendo iniziato ieri il corso di informatica 2 proprio non saprei come risolverlo da solo ^^).

il codice incriminato è questo

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define PORT 4000

int main (int argc, char* argv[])
{
int sd, err;
struct sockaddr_in server_address, my_address;
int my_address_lenght=sizeof(my_address);

/* INIZIALLIZZAZIONE INDIRIZZO */
server_address.sin_family=AF_INET;
server_address.sin_port=htons((u_short)PORT);
server_address.sin_addr.s_addr=(long)inet_addr(argv[1]);

/* CREAZIONE SOCKET */
sd=socket(AF_INET,SOCK_STREAM,0);
if(sd<0){
perror("socket");
return(1);
}

/* CONNESSIONE */
err=connect(sd, (struct sockaddr*)&server_address, sizeof(server_address));

if(err==0){
printf("\nHo eseguito la connessione.\n");
getsocketname(sd,(struct sockaddr*)&my_address, (socklen_t*)&my_address_lenght);
printf("la mia porta è: %d\n\n", ntohs(my_address.sin_port));
}
else{
printf("\nImpossibile effettuare la connessione:\n");
perror("connect");
return(1);
}

close(sd);
return(0);
}


compilando con gcc ottengo l'errore: undefined reference to 'getsocketname'..non capisco perchè dovrebbe essere definita negli header che ho incluso... o no? :stordita:

vi ringrazio per la lettura e per una eventuale risposta :D

sLiceR

ilsensine
08-03-2006, 15:50
getsockname

- sLiceR -
08-03-2006, 15:53
grazie mille :D
l'errore più stupido del mondo, ecco perchè non trovavo documentazione su google :doh: :doh: :doh: