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é
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()
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Il est pas dans la structure de données du bind() ?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 ?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.
-----![]()
--![]()
![]()
![]()
![]()
![]()
Partager