Bonjour,
Programmation réseaux unix, socket.
Lorsqu'on décide de reçevoir un port automatiquement après l'appel à bind, peut-on connaître le numéro de port qui a été attribué
Version imprimable
Bonjour,
Programmation réseaux unix, socket.
Lorsqu'on décide de reçevoir un port automatiquement après l'appel à bind, peut-on connaître le numéro de port qui a été attribué
il y a une fonction pour cela, et je crois bien que c'est getsockname()
Il est pas dans la structure de données du bind() ?Citation:
Envoyé par sympho
Je rappelle l'existence des forum "Développement Linux" et "Développement Réseaux".
merci médinoc, ça doit être ça, j'essaye dès ce soir.
Emmanuel de Lahaye : non, il n'y est pas puisque j'ai mis un 0 dans sin_port pour avoir un port attribué automatiquement. Pour le forum c'est noté.
Finalement je l'ai testé tout de suite et ça marche. Non ça cours même.
merci à tous ;)
Après l'exécution du bind(), le champ n'est pas mis à jour ?Citation:
Envoyé par sympho
non, il reste à 0. C vrai que c pas cool de la part des programmeurs de la librairie (ou du kernel ) ...
Pour info, voir la fonction htons() et ntohs() car le numero affiché n'est pas le vrai numero (sauf sur PowerPc).
Dans la plupart des cas, ca pose pas trop de probemes car il y a la meme erreur coté client et coté serveur.
histoire de little et big endians !
Mais si comme moi vous essayez de communiquer avec un Mac ou que que vous utilisez un client qui a fait cette conversion, vous risquez de perdre beaucoup de temps.
-----:!:
-- :!: :!:
:!: :!: :!: