Nico a écrit :
> 
> ----- Original Message -----
> From: Aurelien Campeas <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Friday, September 08, 2000 11:29 AM
> Subject: Re: [Confirme] demande d'aide pour prog socket
> 
> > Nico a écrit :
> >
> > > Bonjour,
> > > Je viens de me lancer dans la prog socket.
> > > J'ai alors testé mon programme en le lancant dans une console mais
> lorsque
> > > je l'ajoute dans le service inetd celui ci ne marche plus?
> > >
> > > Les lignes que j'ai ajouté dans inetd.conf et services sont :
> > >
> > > pserver stream tcp wait root /socket
> > > et........
> > > pserver  973/tcp   # Mon petit programme...
> > >
> >
> > tu devrais essayer avec un numéro de port > 1024 peut-être...
> >
> >
> >
> j'ai essaye avec le port 9734 ca n'a rien change
> 
> le programme bloque tjrs au meme endroit, c'est a dire lorsque le client
> attends la lecture du socket
> 
> etant donne que ce programme est inexistant lorsque je lance le serveur dans
> une console, je pense que j'ai mal configuré inetd.conf +services
> 
> le probleme ce situe dans ces 2 lignes:
> 
> inetd.conf:             pserver stream tcp wait root /socket
> et........
> services:                pserver  973/tcp   # Mon petit programme...

Le problème vient que tu n'as pas besoin de inetd. 
Comme l'a déjà expliqué quelqu'un sur cette liste inetd écoute un port
spécifié et lorsqu'une connexion arrive il lance ton programme et lui
envoie sur stdin ce que le client envoie, il te suffit ensuite d'écrire
sur stdout pour que inetd le transmette au client. De cette façon tu n'a
pas besoin d'utiliser les sockets, pas de listen(), d'accept(), de
bind()...
Le programme que tu as écris est autonome, il est en attente de
connexion (listen()), et lorsque un client se connecte la connexion est
établie (accept()) et tu n'a plus qu'à lire ou à écrire sur la socket
avec read() ou write().
Dans ton cas tu n'a donc *pas* besoin de inetd.

J'espère que je répond bien à ta question.
-- 
____________________________________________
Nicolas Justin  -  <[EMAIL PROTECTED]>


Répondre à