PDA

View Full Version : [C] funzione per socket


TuLKaS85
01-12-2006, 17:03
salve,
mi stò avventurando nel mondo del network programming, purtroppo in giro ci sono solo guide in inglese che non mi semplificano la vita :p

beh il mio problema è questo
con questa istruzione:

connfd=Accept(listenfd,(struct sockaddr*)NULL,NULL);

accetto connessioni da qualsiasi client e creo la nuova socket connfd (listenf è la socket del server in ascolto)
ora voglio sapere qualcosa riguardo il client che ha contattato il mio server...
mi baserebbe l'host, magari l'ip in modo poi da recuperarmi la struttura Hostent

consigli ??

vizzz
01-12-2006, 17:26
struct sockaddr_in their_addr; // connector's address information
socklen_t sin_size;

if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)) == -1) {
perror("accept");
continue;
}
printf("server: got connection from %s\n",inet_ntoa(their_addr.sin_addr));

recuperato in giro

TuLKaS85
01-12-2006, 18:12
ti ringrazio, io invece ho risolto utilizzando :
getsockname(.....)

prende in input la socket inizializza un sockaddr_in passato come argomento con l'indirizzo della socket....

da qui poi ho recuperato l'ip

dove ho trovato getsocketname c'era anche la tua soluzione, che in effetti sarebbe più intuitiva, dopo magari provo anche in quest'altro modo

grazie ! :)