Redirection sorties std vers sockets - C++ - Programmation
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...
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
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.
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...
Marsh Posté le 04-02-2003 à 21:58:58
t'as qua lire sur stdin du client, balancer au serveur qui affiche sur osnt stdout et point. rediriges queudal!
Marsh Posté le 04-02-2003 à 22:09:57
Comment je récupère la stdout du serveur pour l'afficher sur le client?
Marsh Posté le 04-02-2003 à 22:30:47
ReplyMarsh Posté le 04-02-2003 à 22:31:09
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?
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?
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?
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.
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
Marsh Posté le 04-02-2003 à 22:48:30
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!!!
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)?