----------------------------------------
CLIENT:
----------------------------------------

SOCKET nuovosocket;

sockaddr_in nuovosocket_addr;
WSADATA data;

WORD p;
p=MAKEWORD(2,0);
err=WSAStartup(p,&data);


nuovosocket=socket(PF_INET,SOCK_STREAM,0); // inizializzo il socket
nuovosocket_addr.sin_family=PF_INET; // si usa il protocollo TCP/IP
nuovosocket_addr.sin_port=htons(porta); //la porta a cui connettersi
nuovosocket_addr.sin_addr.S_un.S_un_b.s_b1=127; // creo ip del server
nuovosocket_addr.sin_addr.S_un.S_un_b.s_b2=0;
nuovosocket_addr.sin_addr.S_un.S_un_b.s_b3=0;
nuovosocket_addr.sin_addr.S_un.S_un_b.s_b4=1;
lun=sizeof(struct sockaddr);
err=connect(nuovosocket,(struct sockaddr*)&nuovosocket_addr,lun);

n=recv(nuovosocket,mess,100,0); // messaggio di benvenuto dal Server



----------------------------------------
SERVER:
----------------------------------------

SOCKET primo, dati; //inizializzo i due socket

sockaddr_in primoadd, datiadd; //mi servono per impostare i socket

WSADATA data;
WORD ver;
ver=MAKEWORD(2,0);
err=WSAStartup(ver,&data);

printf("%s",&testo);


primo=socket(PF_INET,SOCK_STREAM,0); //specifico il tipo di socket
primoadd.sin_family=PF_INET;
primoadd.sin_port=htons(23); //setto la porta
primoadd.sin_addr.s_addr=INADDR_ANY; //accetto qualsiasi indirizzo
lun=sizeof(sockaddr);



err=bind(primo,(sockaddr*)&primoadd,sizeof(sockadd r_in));
err=listen(primo,backlog); //mi metto in ascolto
dati=accept(primo,(sockaddr*)&datiadd,LPINT(&lun)) ;


send(dati,mex,len(mex),0); //invio il messaggio di benvenuto al client


-------------------------------------------

ecco il codice........
come faccio a sapere quale ip ha la macchina del client ?


grazie ancora