Sto avendo difficoltà a capire questo fuori - sto lavorando con prese in C usando questa guida - http://binarii.com/files/papers/c_sockets.txtSockets - Come scoprire cosa porta e l'indirizzo sto assegnati
Sto cercando di ottenere automaticamente il mio IP e la porta utilizzando:
server.sin_port = 0; /* bind() will choose a random port*/
server.sin_addr.s_addr = INADDR_ANY; /* puts server's IP automatically */
...
...
bind(int fd, struct sockaddr *my_addr,int addrlen); // Bind function
Dopo un vicolo cieco di successo, come faccio a sapere quale IP e Port realtà sono assegnati?
In realtà ciò che accade quando si specifica 'INADDR_ANY' non è che inserisce automaticamente l'IP del server, ciò che fa è trovare tutte le interfacce e si lega a ciascuna di esse. Pertanto, hai molte risposte giuste alla tua domanda. – jer
Hmm - grazie jer. Un incarico su cui sto lavorando mi richiede di ottenere automaticamente l'IP e la porta usando il codice specificato, ma devo stampare l'indirizzo del server e la porta per il client a cui connettersi sullo schermo. Questo è quello che sto cercando di capire come fare. Se utilizzo la struttura sockaddr, ottengo solo 0.0.0.0 e la porta 0. – stringo0
Vedere http://stackoverflow.com/questions/2496302/how-can-i-obtain-the-local-tcp-port-and-ip -address-of-my-client-program – mark4o