View Single Post
Old 08-03-2006, 16:47   #1
- sLiceR -
Member
 
L'Avatar di - sLiceR -
 
Iscritto dal: Nov 2005
Città: Milano
Messaggi: 127
[C] getsocketname: errore in compilazione

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
Codice:
#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?

vi ringrazio per la lettura e per una eventuale risposta

sLiceR
__________________
iMac "Alu" 20" . Core2Duo 2.4GHz . 320GB SATA HD . 4GB SoDIMM 667MHz
~: on Guild Wars: A N Y A
- sLiceR - è offline   Rispondi citando il messaggio o parte di esso