Les Forums

Les Forums

Les forums sont fermés. Ils restent présent pour consultation et archivage.
Vous pouvez désormais poser vos questions directement dans les commentaires en bas de chaque page du site.
Alors n'hésitez pas à participer

[Socket] bind()

Bonjour,

Je n'arrive pas a comprendre quant ce servir de la fonction bind()


[code:1:9ef2b79407]
information_sur_la_destination.sin_family=AF_INET; information_sur_la_destination.sin_addr.s_addr=inet_addr("10.10.10.10");
information_sur_la_destination.sin_port=htons(33333);
strcpy(buffer,"Coucou, je suis les donnees.");
nombre_de_caractere=sendto(id_de_la_socket,buffer,strlen(buffer),0,(struct sockaddr*)&information_sur_la_destination,sizeof(information_sur_la_destination));
[/code:1:9ef2b79407]


[code:1:9ef2b79407]
information_sur_la_source.sin_family=AF_INET;
information_sur_la_source.sin_addr.s_addr=INADDR_ANY;
information_sur_la_source.sin_port=htons(33333);
erreur=bind(id_de_la_socket,(struct sockaddr*)&information_sur_la_source,sizeof(information_sur_la_source));
if (erreur!=0)
....
else
....
[/code:1:9ef2b79407]

voila 2 bout de code d'un tuto de frameip, on retrouve tourjours a peu pres le meme code partout cad :
- On rempli la structure sin avec l'ip, le port, et la famille de la socket
- On envoi ou recoi les donnees.

Mon probleme est que je ne comprend pas pourquoi on utilise bind() pour attacher l'adresse a la socket dans le serveur alors qu'on ne precise pas d'adresse. alors que dans le client, on n'attache pas d'adresse avec bind()

J'espere avoir etait le plus clair possible

Merci
Si ton serveur possède plusieurs carte réseau et plusieurs IP ?


http://www.frameip.com/c_mode_non_connecte/#3.1_-_Commande_bind()

@+
_SebF - Sébastien FONTAINE