Socket avec plusieurs adresse IP - C - Programmation
Marsh Posté le 20-09-2005 à 16:22:03
sans etre sur, je pense que ca n'a rien avoir
les sockets sont une interface de plus haut niveau que la carte réseau, ainsi lorsque que tu crées une socket elle doit etre valide pour les 2 cartes seule l'adresse IP va permettres de les differencier !
donc à mon avis c'est plus du coté des paquets et de l'IP qu'il faut regarder!
bonne recherche si tu trouves des infos n'hesite pas à les mettre ca peut etre interréssant!
Marsh Posté le 21-09-2005 à 11:44:33
steven511 a écrit : Mon problème est tout simple: J'ai deux cartes réseaux sur ma machines et je veux ouvrir des sockets sur l'une ou l'autre ... |
Tu veux être serveur ou client ?
Marsh Posté le 21-09-2005 à 13:01:47
2 carte réseau <=> 2 adresses MAC <=> 2 adresses IP
Svear : Si il a 2 cartes réseau il peut être un serveur et un client si il le veut
PS : Je sais que sous Linux y a les eth0 eth1 ... ethn et la commande iptable
Marsh Posté le 21-09-2005 à 15:39:17
je veux être serveur sur les deux adresses IP.
Apparement ça tourne autour du Bind....
Marsh Posté le 21-09-2005 à 21:54:30
Chronoklazm a écrit : Svear : Si il a 2 cartes réseau il peut être un serveur et un client si il le veut |
Certes... et même s'il n'a qu'une seule carte réseau !!! Mais la façon de programmer sa socket n'est pas la même suivant s'il veut être client ou serveur !!!
steven511 a écrit : je veux être serveur sur les deux adresses IP. |
En effet, le 2° paramètre de "bind" est soit de type "struct sockaddr_un *" si tu travailles en mode "AF_UNIX" (utilisation d'un fichier "socket" ); soit de type "struct sockaddr_in *" si tu travailles en mode "AF_INET" (utilisation de TCP/IP).
Dans ce dernier cas, ce paramètre contient l'adresse de la carte réseau que tu vas écouter !!!
Plus d'info sur la prog socket ici: http://fr.lang.free.fr/cours/SocketCsyst_v1.0.pdf
Marsh Posté le 21-09-2005 à 22:35:49
Sve@r a écrit : Plus d'info sur la prog socket ici: http://fr.lang.free.fr/cours/SocketCsyst_v1.0.pdf |
Archivé!
Marsh Posté le 20-09-2005 à 14:17:24
Mon problème est tout simple: J'ai deux cartes réseaux sur ma machines et je veux ouvrir des sockets sur l'une ou l'autre ...
Actuellement je ne vois pas où renseigner que je veux utiliser l'une ou l'autre carte.
Merci.