OVH Cloud OVH Cloud

socket sans bind : getsockname possible ?

21 réponses
Avatar
Olivier Miakinen
[diapublication dans trois groupes, dont ceux sur Unix et Windows,
suivi vers fr.comp.reseaux.ip seul]

Bonjour,

Dans un programme en C utilisant les sockets, une fonction
reçoit un socket initialisé par la fonction socket(), mais
où le bind() n'a pas encore été fait. La fonction voudrait
déterminer quel type d'adresse on peut attacher à ce socket
(entre AF_INET et AF_INET6 à priori) : peut-elle utiliser
la fonction getsockname() pour ce faire, ou bien est-ce que
l'on risque une erreur sur certains OS du fait que le bind()
n'est pas fait ?

P.-S. : même si la question ne se pose pas vraiment, par
curiosité j'aimerais savoir aussi ce qu'il en est des
protocoles autres que IPv4 et IPv6, par exemple AF_UNIX

Cordialement,
--
Olivier Miakinen

1 réponse

1 2 3
Avatar
Xavier Roche
(je suis un peu en retard sur le followup, mais bon)

16/05/2014 22:59, Bruno Ducrot a écrit :
SO_DOMAIN (since Linux 2.6.32)
Retrieves the socket domain as an integer, returning a value
such as AF_INET6. See socket(2) for details. This socket
option is read-only.





Qui n'apparait pas dans
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html



Ca sera finalement corrigé.
http://austingroupbugs.net/view.php?id„0
1 2 3