Se tu fai una connessione TCP (come vuoi fare) crei un canale di comunicazione tra due entità, hostA e hostB.
In generale la connessione la fai specificando indirizzo IP o se hai un DNS tramite nome comune (sarà poi lui a risolvere il nome).
Se hai bisogno di conoscere delle info sul nome guarda il lavoro che fa quella funzione (e wikipedia anche in italiano lo spiega benissimo).
Se vuoi connetterti ad un server via TCP e vuoi questo ti restituisca l'indirizzo IP in realtà crei e gestisci un server, a cui ti connetti tramite un indirizzo IP, invii il tuo nome e ottieni in risposta un indirizzo IP. Ma come vedi, nel secondo caso hai un vero e proprio server a cui ti connetti da remoto.
In tutto questo ho l'impressione che non ne sai molto di reti e chiedi qui che altri facciano controlli per te su cose che, stando al tuo linguaggio, non hanno pienamente senso