Sto leggendo sulla programmazione dei socket e ho scoperto che l'IP è assegnato al socket con la chiamata bind () prima della connessione al server. Il mio modo di pensare all'indirizzo vincolante significa legare qualsiasi indirizzo ip corretto.
Sto leggendo sulla programmazione dei socket e ho scoperto che l'IP è assegnato al socket con la chiamata bind () prima della connessione al server. Il mio modo di pensare all'indirizzo vincolante significa legare qualsiasi indirizzo ip corretto.
bind()
definisce una relazione tra il socket che hai creato e gli indirizzi disponibili sul tuo host. Ad esempio, è possibile associare un socket su tutti gli indirizzi o su un IP specifico che è stato configurato su una scheda di rete dal sistema operativo dell'host.
Ecco un esempio su come associare un socket a tutti gli indirizzi disponibili sull'host che esegue questo codice:
struct sockaddr_in name;
name.sin_family = AF_INET;
name.sin_port = htons (port);
name.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind (socket, (struct sockaddr *) &name, sizeof (name)) < 0) {
perror ("bind");
exit (-1);
}
Per un'applicazione server, gli utenti a volte desiderano limitare il socket a essere associato solo a un determinato indirizzo per motivi di sicurezza o semplicemente per mappare i servizi dove vogliono che siano disponibili. Questo è il motivo per cui la maggior parte dei server consente di configurare facilmente gli indirizzi di bind per gli utenti con il file di configurazione dell'applicazione.
Leggi altre domande sui tag networking sockets networks websockets