Redirection sorties std vers sockets

Redirection sorties std vers sockets - C++ - Programmation

Marsh Posté le 04-02-2003 à 21:27:48    

Voilà mon pb: mon programme se décompose en 2 programmes client et serveur. Le programme client execute une commande qui est envoyée sur le serveur puis executée via des sockets (en mode connecté TCP).  
Voilà ma question: comment faire pour rediriger les sorties stdout et stderr vers le programme client, en utilisant des sockets (fonctions read et write)?

Reply

Marsh Posté le 04-02-2003 à 21:27:48   

Reply

Marsh Posté le 04-02-2003 à 21:30:50    

t'as déjà les reponses apropriées sur ton premeir post  :o

Reply

Marsh Posté le 04-02-2003 à 21:33:04    

Désolé, ne comprends pas la manip... je pense devoir utiliser les fonctions fopen ou freopen, je ne sais pas comment ça fonctionne...

Reply

Marsh Posté le 04-02-2003 à 21:36:44    

t'en fout, faut faire avec dup et dup2. il te reste plus qu'à lire les man

Reply

Marsh Posté le 04-02-2003 à 21:40:23    

Je ne voit pas pourquoi utiliser dup...

Reply

Marsh Posté le 04-02-2003 à 21:46:33    

un socket c'est un descripteur de fichier. il te faut dupliquer et fermer celui de stdout pour que stdout soit associé à ce socket.
 
et si tu comprends pas toujours pas...tu ferais bien de te trouver un bouquin sur *n*x et comprendre que tu n'as pas le niveau du tout pour traiter ce genre de problème( voir le pb sur fgets). donc patiente, prends le temps d'apprendre.

Reply

Marsh Posté le 04-02-2003 à 21:56:40    

Le pb est que les sorties doivent maintenant être affichées sur le poste appelant la fct sur le serveur. Je ne sais pas comment faire... si les sorties std sont redirigées vers le socket, rien ne me dit que les resultats vont être affichés sur le poste client...

Reply

Marsh Posté le 04-02-2003 à 21:58:58    

:o  :pt1cable:  
 
t'as qua lire sur stdin du client, balancer au serveur qui affiche sur osnt stdout et point. rediriges queudal!

Reply

Marsh Posté le 04-02-2003 à 22:00:51    

Oui, mais le client n'est pas toujours le même...

Reply

Marsh Posté le 04-02-2003 à 22:04:46    

mais qu'est ce que tu chies putain  :o

Reply

Marsh Posté le 04-02-2003 à 22:04:46   

Reply

Marsh Posté le 04-02-2003 à 22:09:25    

Je ne comprends plus rien là...

Reply

Marsh Posté le 04-02-2003 à 22:09:57    

Comment je récupère la stdout du serveur pour l'afficher sur le client?

Reply

Marsh Posté le 04-02-2003 à 22:18:03    

et il vient d'ou le stdout du server d'apres toi ?

Reply

Marsh Posté le 04-02-2003 à 22:19:38    

Du serveur.

Reply

Marsh Posté le 04-02-2003 à 22:21:50    

:o  :o  :o allez va te coucher

Reply

Marsh Posté le 04-02-2003 à 22:27:25    

Tu peux être plus explicite dans tes réponses stp?

Reply

Marsh Posté le 04-02-2003 à 22:30:47    

++Taz a écrit :

:o  :o  :o allez va te coucher


ben, c'est explicite ca non ?  :lol:

Reply

Marsh Posté le 04-02-2003 à 22:31:09    

:pfff: non , je crois que tu comprends rien à rien et que tu t'attauqes a une montagne.
 
tu crois qu'elles viennent d'ou les données du stdout du serveur?

Reply

Marsh Posté le 04-02-2003 à 22:37:20    

En fait, une commande qui vient du socket client est executée sur le serveur... le stdout du serveur vient donc du serveur... non?

Reply

Marsh Posté le 04-02-2003 à 22:37:50    

ben oui

Reply

Marsh Posté le 04-02-2003 à 22:38:45    

donc?

Reply

Marsh Posté le 04-02-2003 à 22:39:42    

t'es un boolet mec, tu crois qu'elle vient d'ou stdout du server? en faisant system("cat /dev/urandom/" ) ou quoi?

Reply

Marsh Posté le 04-02-2003 à 22:44:01    

Ecoute, au lieu de m'incendier, tu pourrais être plus clair. Je voudrais rediriger les stdout et stderr du serveur pour les afficher sur le client. Je voudrais que mon code soit le plus portable possible (et sans passer par des machins systèmes style /dev/...), il doit fonctionner sous Unix ou Linux.

Reply

Marsh Posté le 04-02-2003 à 22:46:17    

PUTAIN T'ES UN CON MON GARS ET C TOUT. VA TE COUCHER ET REVIENS PLUS FAIRE CHIER

Reply

Marsh Posté le 04-02-2003 à 22:48:30    

:fou:  :fou: C'EST TOI LE CON, C'EST PAS LA PEINE DE ME FAIRE CHIER COMME CA, TU PEUX DIRE LES CHOSES COMMES ELLES SONT AU LIEU DE TOURNER EN ROND!!!

Reply

Marsh Posté le 04-02-2003 à 22:49:27    

Bon, continuez votre dispute en privé :o

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed