OVH Cloud OVH Cloud

Retour socket() ...

2 réponses
Avatar
sebastien.bres
Bonjour a tous,
voila j'ai un petit probleme au niveau programmation reseau...
Je travaille sous Linux (RedHat 7.3), et je suis sur une partition
NFS...
J'ai commence a creer une application reseau en c++ et je bloque deja.
Lorsaue j'appelle la fonction socket(AF_INET, SOCK_STREAM, 0), elle me
retourne un descripteur de valeur 0 (descripteur de l'entree standard)
et donc ca fait planter le bind juste apres...

J'aimerais donc savoir pourquoi ca me retourne 0 (un pb de droits peut
etre....) et comment resoudre ce petit pb

Voila

Merci d'avance

2 réponses

Avatar
Jacques Caron
Salut,

On 4 Oct 2004 02:45:54 -0700, SebGAM
wrote:

J'ai commence a creer une application reseau en c++ et je bloque deja.
Lorsaue j'appelle la fonction socket(AF_INET, SOCK_STREAM, 0), elle me
retourne un descripteur de valeur 0 (descripteur de l'entree standard)
et donc ca fait planter le bind juste apres...


socket peut très bien renvoyer un fd=0 si stdin a été fermé auparavant
(classique pour un démon), mais si ce n'est pas le cas c'est effectivement
anormal. Tu aurais le bout de ton source qui illustre ce problème?

J'aimerais donc savoir pourquoi ca me retourne 0 (un pb de droits peut
etre....) et comment resoudre ce petit pb


socket renvoie -1 en cas de problème, pas 0.

Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/

Avatar
sebastien.bres
C'est bon j'ai resolu la "petite" erreur que j'ai faite...
En effet, j'avais inclu l'appel socket dans un if et le parenthesage
n'etait pas tres bon !!!
Et donc l'appel n'etait pas pris en compte

Merci d'avoir repondu en tout cas