bind () chiama nella programmazione socket

1

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.

    
posta Jeevansai Jinne 02.09.2016 - 16:05
fonte

1 risposta

0

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.

    
risposta data 04.09.2016 - 09:20
fonte

Leggi altre domande sui tag