Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 88 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

[LINUX][C] shell à distance

 
n°9957
tinah_pro
Profil : Jeune recrue
Posté le 22-08-2004 à 10:54:51  profilanswer
 

J'ai programmé un petit shell à distance utilisant le protocole UDP. C'est-à-dire, un programme serveur_udp.c écoutant un numero de port donné, puis un client (client_udp.c) envoyant des commandes(ls, cd, etc) au serveur, puis récupère les résultats et les affiche à l'écran client.
La communication est déjà établie et marche bien(simple chaîne de caractères) mais mon problème c'est la récuperation de sortie standard (1) du serveur dans un descripteur.
 

Code :
  1. //serveur_udp.c
  2. if(dup2(fd,1)<0){
  3. perror("Error dup2" ); exit(1);
  4. }
  5. if(read(fd,tampon_reponse,1024)<0) {
  6. perror("Error dup2" ); exit(1);
  7. }
  8. puts(tampon_reponse);


 
Ce qui n'affiche rien, c-à-d la variable chaine de caractère "tampon_reponse" est vide.
J'espère que vous avez compris et pourrez m'aider.
Merci :)

n°10455
linbeg
Profil : Jeune recrue
Posté le 14-10-2004 à 16:35:43  profilanswer
 

tinah_pro a écrit :


Ce qui n'affiche rien, c-à-d la variable chaine de caractère "tampon_reponse" est vide.
J'espère que vous avez compris et pourrez m'aider.
Merci :)


Je sui pas sur d'avoir compris mais si c'est ce que je pense, tu devrais essayer d'utiliser un tube pour passer les informations du client au serveur avec mkfifo(int tube[2])

n°10467
airv3
Coach de la Montgalorette
Profil : Vieux de la vieille
Posté le 16-10-2004 à 13:46:12  profilanswer
 

ah non un tube nommé necessite qu ele client et le serveur tourne sur le meme serveur, or dans son cas le server et le client sont 2 machines distantes, donc il faut utiliser des socket


Message édité par airv3 le 16-10-2004 à 13:47:09
n°10490
demoniacGi​rl
Carpe diem
Profil : Fossile
Posté le 18-10-2004 à 20:49:21  profilanswer
 

airv3 a écrit :

ah non un tube nommé necessite qu ele client et le serveur tourne sur le meme serveur, or dans son cas le server et le client sont 2 machines distantes, donc il faut utiliser des socket


 
ben j'imagine qu'il l'a déjà fait ... enfin on ne voie qu'un bout du code donc dur à savoir :p
 
tu a résolu ton pb tinah ?  


---------------
"On fait tout pour gagner un coeur et bien peu pour le garder"  ...  (J. Deval)  
 
scwmp...

Aller à :
Ajouter une réponse